栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

记录:mysql中的WITH ROLLUP

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录:mysql中的WITH ROLLUP

WITH ROLLUP 的用法

文章目录
  • WITH ROLLUP 的用法
  • 一、建表语句和数据
    • 1.建表
    • 2.数据,共9条
  • 二、WITH ROLLUP:在group分组字段的基础上再进行统计数据。


一、建表语句和数据 1.建表
CREATE TABLE `test` (
  `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `provinceName` varchar(32) DEFAULT NULL,
  `cityName` varchar(32) DEFAULT NULL,
  `countyName` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
2.数据,共9条

代码如下(示例):

INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('26', '广东省', '茂名市', '其他区');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('292', '广东省', '深圳市', '其他区');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('294', '广东省', '潮州市', '湘桥区');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('307', '广东省', '深圳市', '南山区');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('359', '广东省', '潮州市', '潮安县');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('386', '广东省', '深圳市', '福田区');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('391', '广东省', '汕尾市', '海丰县');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('397', '广东省', '汕尾市', '陆河县');
INSERT INTO `test`(`id`, `provinceName`, `cityName`, `countyName`) VALUES ('400', '山东省', '济南市', '市中区');
二、WITH ROLLUP:在group分组字段的基础上再进行统计数据。

实例,以下sql不加入WITH ROLLUP的时候,意思就是分组查询相同省、市、区的数据。

SELECt
	id,
	provinceName,
	cityName,
	countyName,
	COUNT( id ) AS num 
FROM
	test 
GROUP BY
	provinceName,
	cityName,
	countyName WITH ROLLUP;

加上WITH ROLLUP之后,由于是多字段的group up ,可以进一步统计,
1、相同省、市、区的数据。
2、相同省、市的数据。
3、相同省的数据
4、全部数据
这样可以非常直观的显示出各种情况的总数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号