百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysqlgroup多列
分享文章到:

mysqlgroup多列

发布时间:08/01 来源:未知 浏览: 关键词:
在MYSQL中运用GROUPBY对表中的数据进行分组时,GROUPBYX意思是将所有拥有雷同X字段值的记载放到一个分组里. 在平时的开发任务中我们时常会用到MYSQL的GROUP BY分组, 用来猎取数据表中以分组字段为根据的统计数据。

比方有一个学生选课表,表构造如下:

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

SELECT Subject, Count(*)
FROM Subject_Selection
GROUP BY Subject

得到如下效果:

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:

SELECT Subject, Semester, Count(*)
FROM Subject_Selection
GROUP BY Subject, Semester

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

得到的效果是:

Subject    Semester   Count
------------------------------
ITB001     1          3
ITB001     2          2
MKB114     1          2

从表中的记载我们可以看出这个分组效果是准确的有3个学生在首先学期选中了ITB001, 2个学生在第二学期选中了ITB001,
还有两个学生在首先学期选中了MKB114, 没人在第二学期选中MKB114。

总结:

在MYSQL中运用GROUP BY对表中的数据进行分组时,
GROUP BY X意思是将所有拥有雷同X字段值的记载放到一个分组里,
GROUP BY X, Y意思是将所有拥有雷同X字段值和Y字段值的记载放到一个分组里

以上就是mysql group多列的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

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

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

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

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板