> 文档中心 > with rollup的用法

with rollup的用法


with rollup

Mysql中有一个with rollup是用来在分组统计数据的基础上再进行统计汇总,即用来得到group by的汇总信息;

表中数据有:没有with rollup的查询

在这里插入图片描述

没有with rollup的查询

 SELECT COALESCE (b.name, '总数') 'name', COUNT(b.name) 'cnt'    from device a    LEFT JOIN device_type b on    a.type_id = b.id where a.del_flag=0    GROUP BY b.name 

有with rollup的查询语句

在这里插入图片描述

 SELECT COALESCE (b.name, '总数') 'name', COUNT(b.name) 'cnt'    from device a    LEFT JOIN device_type b on    a.type_id = b.id where a.del_flag=0    GROUP BY b.name WITH ROLLUP

需要注意的是,使用有 WITH ROLLUP 子句的 GROUP BY 语句时,不能再使用 ORDER BY
语句对结果集进行排序,如果对返回的结果顺序不满意,需要应用程序获得结果后在程序中进行排序。