社区
MS-SQL Server
帖子详情
group by a,b,c和group by b,c,a 的区别?
lovemeet
2006-11-28 09:03:09
select a ,b ,c ,sum(d) from group by a,b,c
与
select a ,b ,c ,sum(d) from group by b,c,a
有什么不同?
查询结果是不是相同?group by 后有很多字段,是不是只有最最后一个字段起到作用?
...全文
2524
8
打赏
收藏
group by a,b,c和group by b,c,a 的区别?
select a ,b ,c ,sum(d) from group by a,b,c 与 select a ,b ,c ,sum(d) from group by b,c,a 有什么不同? 查询结果是不是相同?group by 后有很多字段,是不是只有最最后一个字段起到作用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengda1i
2006-11-29
打赏
举报
回复
select a ,b ,c ,sum(d) from group by a,b,c
与
select a ,b ,c ,sum(d) from group by b,c,a
是不同的,不过如果不带WITH CUBE和WITH ROLLUP,不同的只是结果集的排序,因为默认按group by后字段排序
如果带WITH CUBE,结果集也相同,排序不同
如果带WITH ROLLUP,结果集集不相同了
oooooo126
2006-11-29
打赏
举报
回复
排列次序不一样,
用group by a,b,c with cube最明显
m00ners
2006-11-28
打赏
举报
回复
“最后一个字段起到作用”这点是不对的
但是group by a,b,c 和 group by b,c,a 出来的结果应该是一样的
fish_yht
2006-11-28
打赏
举报
回复
三个汇总不同吧
a,b,c为先基于a汇总,再基于b汇总,最后基于c汇总
c,b,a为先基于c汇总,再基于b汇总,最后基于a汇总
marco08
2006-11-28
打赏
举报
回复
学习
xyxfly
2006-11-28
打赏
举报
回复
?
dawugui
2006-11-28
打赏
举报
回复
select a ,b ,c ,sum(d) from group by a,b,c
与
select a ,b ,c ,sum(d) from group by b,c,a
不同,分组顺序为group by 后面跟着的东西.
gc_ding
2006-11-28
打赏
举报
回复
当然不同!
group by 后的字段按顺序分组
比如表X:
部门 职位 姓名 工资
A 经理 张三 2000
A 助理 李四 1000
B 经理 张三 2000
B 助理 赵六 1000
select 部门,职位,姓名,SUM(工资) from x group by 部门,职位,姓名
结果:
部门 职位 姓名 工资
A 经理 张三 2000
A 助理 李四 1000
B 经理 张三 2000
B 助理 赵六 1000
select 姓名,SUM(工资) from x group by 姓名
结果:
姓名 工资
张三 4000 -- 合并了
李四 1000
赵六 1000
group
by 后 使用 rollup 子句 总结.doc
一、如何理解
group
by 后 带 rollup 子句所产生的效果
group
by 后 带 rollup 子句的功能可以理解为:先按一定的规则产生多种分组,然后按各种分组统计数据(至于统计出的数据是求和还是最大值还是平均值等这就取决于SELECT后的聚合函数)。因此要搞懂
group
by 后 带 rollup 子句的用法主要是搞懂它是如何按一定的规则产生多种分组的。另
group
by 后 带 rollup 子句所返回的结果集,可以理解为各个分组所产生的结果集的并集且没有去掉重复数据。下面举例说明: 1、 对比没有带rollup 的goup by 例:
Group
by A ,B 产生的分组种数:1种; 即
group
by A,B 返回结果集:也就是这一种分组的结果集。
oracle
group
by语句实例测试
本文将详细介绍oracle
group
by语句,以实例进行测试,需要的朋友可以参考下
浅析SQL语句中
GROUP
BY的用法
GROUP
BY 是分组查询, 一般
GROUP
BY 是和 聚合函数配合使用,你可以想想 你用了
GROUP
BY 按 ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示 A B 1 abc 1 bcd 1 asdfg select A,B from table
group
by A 你说这样查出来是什么结果, A B abc 1 bcd asdfg 右边3条如何变成一条,所以需要用到聚合函数,比如 select A,count(B) 数量 from table
group
by A 这样的结果就是 A 数量
Group
by RollUp&
Group
by CUBE&
Group
By
区别
1、如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行
GROUP
BY,然后对(A、B)进行
GROUP
BY,然后是(A)进行
GROUP
BY,最后对全表进行
GROUP
BY操作。
2、如果是
GROUP
BY CUBE(A, B, C),则首先会对(A、B、C)进行
GROUP
BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),最后对全表进行
GROUP
BY操作。
举例:SQL> select
group
ing(index
group
by的工作原理和优化思路
引入 日常开发中,我们经常会使用到
group
by。你是否知道
group
by的工作原理呢?
group
by和having有什么
区别
呢?
group
by的优化思路是怎样的呢?使用
group
by有哪些需要注意的问题呢? 使用
group
by的简单例子
group
by 工作原理
group
by + where 和 having的
区别
group
by 优化思路
group
by 使用注意点 一个生产慢SQL如何优化 使用
group
by的简单例子
group
by一般用于分组统计,它表达的逻辑就是根据
MS-SQL Server
34,875
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章