黑马程序员技术交流社区
标题:
SQL group by 查询
[打印本页]
作者:
郭耀强
时间:
2012-4-7 22:34
标题:
SQL group by 查询
id categoryName BoardId CaregoryDs
----------- -------------------------------------------------- ----------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 语法1 1 交流学习语法
2 网页设计1 1 交流学习网页设计
3 语法2 2 交流学习语法
4 网页设计2 2 交流学习网页设计
5 语法3 3 交流学习语法
6 网页设计3 3 交流学习网页设计
这个是查出来的数据
我用select BoardID,count(*) from dbo.Category group by BoardID 查询出来是
BoardID
----------- -----------
1 2
2 2
3 2
然后我用select BoardID,categoryName,count(*) from dbo.Category group by BoardID,categoryName
查询出来是
BoardID categoryName
----------- -------------------------------------------------- -----------
1 网页设计1 1
2 网页设计2 1
3 网页设计3 1
1 语法1 1
2 语法2 1
3 语法3 1
也就是说我按照两个字段分组,但最终分组的却是按照重复数据出现少的字段分组的,例如上述,select BoardID,categoryName,count(*) from dbo.Category
group by BoardID,categoryName 其实还是按照categoryName分组的,对么?
作者:
郭耀强
时间:
2012-4-7 22:37
上述问题图片
group by.png
(32.2 KB, 下载次数: 39)
下载附件
2012-4-7 22:36 上传
groupby
作者:
张静慈
时间:
2012-4-7 22:44
你在数据表中加一行 例如1 网页设计1 然后再执行后边的语句 我现在没有环境 个人觉得 是找 BoardID,categoryName 这两个字段一样的
作者:
★心秒★
时间:
2012-4-7 22:57
select BoardID,categoryName,count(*) from dbo.Category group by BoardID,categoryName
这个语句首先根据BoardID 和categoryName来进行分组,如果两个字段值都一样的,就分为一组,如果这两个字段值不一样的,就分为另一组!!!! 简单说就是,这两个字段值必须一样的,才会被分为一组。
作者:
pray
时间:
2014-4-26 04:43
非常感谢楼主,楼主万岁万岁万万岁!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2