如何分组查询

group by 语法如下:

group by 字段名 [having 条件表达式]   [with rollup]  ;

(1) 字段名: 指按照该字段的值进行分组,指定多个字段中间使用逗号(,)进行分隔;

(2)having 条件表达式: 可选参数,用来限制分组后的显示,满足条件表达式的结果会被显示出来。

(3)wirh rollup :可选参数。将会在所有记录的最后加上一条,该记录是上面所有记录的忠和。

(4)group by 查询字段取值的分组情况。

一般在使用聚合函数时sum(), count () , avg(),才会使用到group by 。

 

having 和 where 的不同点:

1 having 针对结果组,where 针对的是列数据。

2 having 可以与聚合函数一起使用,where 不能。

3 having 语句只过滤分组后的数据,where在分组前对数据进行过滤。

示例:

select nameid from article group by  nameid;  // 只能查出一条记录

select concat(nameid)from article group by  nameid;   //根据文章编号nameid,进行分组。concat(nameid)  显示所有的文章编号列

 

转载于:https://www.cnblogs.com/TangGe520/p/8966656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值