日期:2014-05-17  浏览次数:20771 次

如何使用group by
有一张学生表,有sno和ssex两个字段,我想让它按照性别进行分组如是用了一下一条语句:select sno,ssex from student group by ssex,但是运行结果会报错,请问为什么会有错还有该怎么修改它呢?

------解决方案--------------------
SQL code
select sno,ssex,count(*) num from student group by sno,ssex

------解决方案--------------------
select ssex from student group by ssex
------解决方案--------------------
分组后必须要有一个统计的函数
select ssex,count(*) 数量
from student 
group by ssex

不是统计的字段,必须放到group by 后面,统计函数还有max,min,sum等

------解决方案--------------------

或者
select sum(sno),ssex from student group by ssex
也可以的。
------解决方案--------------------
以上总结的很详细了 - -!
------解决方案--------------------
guoup by 要跟聚合函数搭配使用的
------解决方案--------------------
探讨
分组后必须要有一个统计的函数
select ssex,count(*) 数量
from student
group by ssex

不是统计的字段,必须放到group by 后面,统计函数还有max,min,sum等

------解决方案--------------------
你分组不统计,那干吗要分组啊?
------解决方案--------------------
你需要的是order by 
select sno,ssex from student order by ssex,
------解决方案--------------------
用group的话,
选择的列只能是组函数、被group的列或常数