
请大侠解释下group by 按多列进行分组的过程。
但是像这种(:“student”表中,按照“性别”和“年龄”列进行分组。在查询分析中输入的SQL语句如下:select性别,年龄fromstudentGroupBy性别,...
但是像这种(:“student”表中,按照“性别”和“年龄”列进行分组。在查询分析中输入的SQL语句如下:select 性别,年龄 from student Group By 性别,年龄)的解释就不要说了,因为感觉说了跟没说一样。
再补充下,比如表test有如下2列。
a c
5 1
3 3
3 7
1 1
1 2
其中sql如下:
select a ,c from test group by a ,c;
但是结果跟select a ,c from test效果一样的啊。所以我想问下这个多列分组的话过程是怎样的? 展开
再补充下,比如表test有如下2列。
a c
5 1
3 3
3 7
1 1
1 2
其中sql如下:
select a ,c from test group by a ,c;
但是结果跟select a ,c from test效果一样的啊。所以我想问下这个多列分组的话过程是怎样的? 展开
展开全部
就例子而言,分组后与不分组一样。
分组的原理是把具有相同的组别合并在一起,通常伴随SUM(),COUNT等聚合函数
你的例子中,A列和C列的组合都是唯一的,所以分了跟没分一样。
分组的原理是把具有相同的组别合并在一起,通常伴随SUM(),COUNT等聚合函数
你的例子中,A列和C列的组合都是唯一的,所以分了跟没分一样。
追问
我的意思是说group by后面可以接多列分组,可能我这个例子特殊吧。看不出用与不用group by有啥区别,所以你能举出一个列子来说明下group by后带多列进行分组的过程吗?
追答
姓名 班级 性别 分数
张1 1班 男 60
张2 1班 女 70
张3 1班 男 80
张4 1班 女 80
张5 2班 男 70
张6 2班 女 60
张7 2班 男 80
select 班级,性别,AVG(分数) as 平均分
from test
group 班级,性别
得出的结果是
班级 性别 平均分
1班 男 70
1班 女 75
2班 男 75
2班 女 60
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询