GROUP BY子句通常和聚集函数一起使用,用来对结果集进行分组,需要注意的是在查询的字段中只能出现用来分组的字段或聚集函数字段(聚集函数字段可以有多个)。
首先我们建立一张student表,表结构如下所示:
| student | CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`xuefei` int(10) DEFAULT NULL,
`hongbao` int(10) DEFAULT NULL,
`school` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 |
添加如下数据:
+----+--------+---------+---------+
| id | xuefei | hongbao | school |
+----+--------+---------+---------+
| 1 | 10 | 11 | 一中 |
| 2 | 20 | 21 | 一中 |
| 3 | 20 | 21 | 二中 |
| 4 | 10 | 11 | 二中 |
+----+--------+---------+---------+
执行如下SQL:
SELECT school, sum(xuefei) as sum_of_xuefei, sum(hongbao) as sum_of_hongbao FROM student group by school;
返回:
+---------+---------------+----------------+
| school | sum_of_xuefei | sum_of_hongbao |
+---------+---------------+----------------+
| 一中 | 30 | 32 |
| 二中 | 30 | 32 |
+---------+---------------+----------------+
如果在查询字段中出现了非上面的两种字段会报错,原因就是其它字段的值会出现冲突。
继续阅读与本文标签相同的文章
上一篇 :
js手机和电脑打开不同的网站
-
Apache Flink 进阶(一):Runtime 核心机制剖析
2026-05-18栏目: 教程
-
RocketMQ一个新的消费组初次启动时从何处开始消费呢?
2026-05-18栏目: 教程
-
Spring Boot2中整合atomikos来实现不同类型数据库的分布式事务一致性
2026-05-18栏目: 教程
-
Git 如何针对项目修改本地提交提交人的信息
2026-05-18栏目: 教程
-
工作几年只会增删改查怎么了,大神们都是从第一行代码开始的
2026-05-18栏目: 教程
