一个问题

qq_yante1ki Microsoft SQL S... 最后由 jike_8009364 于2016年08月27日回复

  • 4 解决
  • 1.8k 浏览

选课库统计都是女同学选的课的门数。想了好久想不出来,自己想的

、select count(class)as '门数' from std where sex='女'

select count (class)from std group by sex having sex='女'

都输不出正确结果。怎么写

  • 番茄_jk 2016年06月27日 回答 #3楼
  • 思路如下:

    1、统计每门课程被选的次数,需要有课程id和次数

    2、统计没门课程被女生选择的次数,需要有课程id和次数

    3、把两张结果表连接在一起,id匹配,统计次数相等的结果,就是女同学选的课的门数

  • 0 评论
  • 极客学院_ASMITA 2016年06月01日 回答 #1楼
  • 没有看到你的表,因此不太好给你出主意啊。

    另外一点就是关于描述,我理解是把选课表中所有女同学投过票的次数统计出来,是这个意思吗?

    比如 投票表  id、class、sxe

    那么如果是这样的话,就非常简单啦,直接select count(0) as count from table where sxe='女'

  • 0 评论
  • jike_8009364 2016年08月27日 回答 #4楼
  • select count(distinct class)as '门数' from std a where not exists (select 1 from std b where sex='女' and a.class=b.class)

    是想要这个结果吗,现在只知道一个std表,如果有class表不需要这么写

  • 0 评论