51Testing软件测试论坛
标题:
GROUP BY 的理解 请高手赐教~~~~
[打印本页]
作者:
m_r3326
时间:
2010-6-11 10:00
标题:
GROUP BY 的理解 请高手赐教~~~~
GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用
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 数量
1 3
=====================
A B
1 abc
1 bcd
1 asdfg
2 dfs
2 sdf
select A,count(B) 数量 from table group by A
这样的结果就是
A 数量
1 3
2 2
group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面
作者:
m_r3326
时间:
2010-6-11 10:01
这样的思路是对的吧?
作者:
zhangting85
时间:
2010-6-11 11:05
看不太懂~帮顶~楼主头像眼神很犀利啊~
作者:
苏高跃
时间:
2010-6-11 11:28
标题:
回复 1# 的帖子
你用数据SQL就得出结果 啦
作者:
苏高跃
时间:
2010-6-11 11:36
标题:
回复 1# 的帖子
select A,count(B) from table group by A
这样应该是对的
作者:
Jackc
时间:
2010-6-11 11:48
"group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面"
不对
作者:
Jackc
时间:
2010-6-11 11:50
标题:
吃饭去了
LZ先看看这个,有问题下午再聊
http://www.w3school.com.cn/sql/sql_groupby.asp
作者:
Jackc
时间:
2010-6-11 12:36
group by 虽然一个组合函数,但是对于它后面接的变量,并没有明确的限制。
LZ可以弄个3列的数组来试试就明白了。
作者:
苏高跃
时间:
2010-6-11 14:22
标题:
回复 6# 的帖子
不对?我用SQL运行过了,结果都出来了?还说不对,还是数据库的原因?
作者:
Jackc
时间:
2010-6-11 14:32
标题:
回复 9# 的帖子
LZ写的代码没问题,"group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面"这句话不对
作者:
kehan0535
时间:
2010-6-11 16:31
标题:
回复 7# 的帖子
这个网站我看过了,非常好!谢谢!
希望不理解的朋友好好看看哦!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2