51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2267|回复: 10
打印 上一主题 下一主题

[原创] GROUP BY 的理解 请高手赐教~~~~

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-11 10:00:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 后面
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-6-11 10:01:24 | 只看该作者
这样的思路是对的吧?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-6-11 11:05:34 | 只看该作者
看不太懂~帮顶~楼主头像眼神很犀利啊~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-6-11 11:28:17 | 只看该作者

回复 1# 的帖子

你用数据SQL就得出结果 啦
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-6-11 11:36:57 | 只看该作者

回复 1# 的帖子

select A,count(B)  from table group by A
这样应该是对的
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-6-11 11:48:41 | 只看该作者
"group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面"

不对
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-6-11 11:50:54 | 只看该作者

吃饭去了

LZ先看看这个,有问题下午再聊
http://www.w3school.com.cn/sql/sql_groupby.asp
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-6-11 12:36:06 | 只看该作者
group by 虽然一个组合函数,但是对于它后面接的变量,并没有明确的限制。

LZ可以弄个3列的数组来试试就明白了。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-6-11 14:22:29 | 只看该作者

回复 6# 的帖子

不对?我用SQL运行过了,结果都出来了?还说不对,还是数据库的原因?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-6-11 14:32:29 | 只看该作者

回复 9# 的帖子

LZ写的代码没问题,"group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面"这句话不对
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-6-11 16:31:33 | 只看该作者

回复 7# 的帖子

这个网站我看过了,非常好!谢谢!
希望不理解的朋友好好看看哦!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 20:58 , Processed in 0.311763 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表