MySQL中with rollup的使用
短信预约 -IT技能 免费直播动态提醒
使用前提:
1、在使用group by 语句后,可能会对数据再次进行汇总,这个时候就需要with rollup。
2、with rollup 就是作用在聚合函数上的。如果聚合函数是COUNT(*)则会在统计的记录中再次求COUNT(*),如果是AVG(),则会在分组
3、with rollup 作用在group by 的第一个字段
(举例:先按照部门进行分组,再按照性别进行分组。使用with rollup 只作用在使用部门进行分组的表中,对聚合函数起作用)
应用实例:
要求:根据age进行分组,统计平均薪水和组内成员个数,并对每个组的成员记录总和,
结尾的4就是对聚合函数COUNT(*)的再次统计,1905.5000则是对每个组平均薪水,再次求平均薪水。
代码实现
CREATE TABLE IF NOT EXISTS techers( id INT, age INT, `name` VARCHAR(10), salary INT );INSERT INTO techers(id,age,`name`,salary)VALUES (1,22,'王三',2200), (2,23,'梁夏',2000), (3,24,'李杰',2222), (4,25,'王飞',1200);SELECT *FROM techers;SELECT COUNT(*),age,AVG(salary)FROM techersGROUP BY age WITH ROLLUP;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341