MySql中使用Group By对多个字段进行分组的方法


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要介绍了MySql Group By对多个字段进行分组的实现方法,需要的朋友可以参考下

相关mysql视频教程推荐:《mysql教程》

在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据。比如有一个学生选课表,表结构如下:

1

2

3

4

5

6

7

8

9

10

Table: Subject_Selection

Subject  Semester  Attendee

---------------------------------

ITB001  1     John

ITB001  1     Bob

ITB001  1     Mickey

ITB001  2     Jenny

ITB001  2     James

MKB114  1     John

MKB114  1     Erica

我们想统计每门课程有多少个学生报名,应用如下SQL:

1

2

3

SELECT Subject, Count(*)

FROM Subject_Selection

GROUP BY Subject

得到如下结果:

1

2

3

4

Subject  Count

------------------------------

ITB001   5

MKB114   2

因为表里记录了有5个学生选择ITB001,2个学生选择了MKB114。

产生这个结果的原因是:

GROUP BY X意思是将所有具有相同X字段值的记录放到一个分组里。

那么GROUP BY X, Y呢?

GROUP BY X, Y意思是将所有具有相同X字段值和Y字段值的记录放到一个分组里。

我们下面再接着要求统计出每门学科每个学期有多少人选择,应用如下SQL:

1

2

3

SELECT Subject, Semester, Count(*)

FROM Subject_Selection

GROUP BY Subject, Semester

上面SQL的意思是,对Subject_Selection表中的数据进行分组,将具有相同Subject和Semester字段值的记录放到同一个分组里去, 然后对每个分组中的数据应用聚合函数(COUNT,SUM, AVG,etc)。

阅读剩余部分

相关阅读 >>

mysql如何按时间查询优化

mysql检查约束怎么写

mysql创建表的sql语句详细总结

centos7.4 源码安装mysql8.0的教程详解

一篇文章带你入门sql编程

c++连接并使用mysql数据库

怎么完全退出mysql?怎么退出mysql编辑界面?

mysql连接数据库并测试实例分享

mysql必备的常见知识点汇总整理

4 个好用的 mysql 调优工具推荐

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...