本帖最后由 gaojiaweir0011 于 2011-10-10 20:49:31 编辑

解决方案 »

  1.   


    select dept.dno,dept.dname,employee.sex,count(*)as count_eno from employee,dept
    where dept.dno=employee.dno group by employee.sex,dept.dno如果要这样写就应该是:select dept.dno,dept.dname,employee.sex,count(*)as count_eno from employee,dept
    where dept.dno=employee.dno group by dept.dno,dept.dname,employee.sex
      

  2.   


    select b.DNO,
           b.dname,
           t.SEX,
           count(distinct t.ENO) as count_eno
      from employee t ,
           dept b
      where t.DNO = b.DNO
      group by t.sex,b.dno,b.dname
      order by b.dno,t.sex ; 
      

  3.   

    是的 成功了 谢了!
    为什么要加上 dname呢?
      

  4.   


    看Group By   的联机帮助。。
      

  5.   

    用group by 必须把select 后面选择的字段,全部加到group by后面(一些统计,计算函数除外,如sum,count),而且不能用别名
      

  6.   

    select dept.dno,dept.dname,employee.sex,count(*)as count_eno 
    from employee,dept
    where dept.dno=employee.dno 
    group by employee.sex,dept.dno,dept.dname
    使用了聚簇函数的分组的时候,要在select 列表中 包含所有的分组。
      

  7.   


    为什么通不过CHECK?
    dname不加的话,使得dname有多个值了,所以不过了