mysql group by 实现对多个字段进行分组

发布时间:2020-10-30 20:47:29

来源:亿速云

阅读:135

作者:Leah

今天就跟大家聊聊有关mysql group by 实现对多个字段进行分组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在平时的开发任务中我们经常会用到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 实现对多个字段进行分组有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

mysql groupy by多个字段_mysql group by 实现对多个字段进行分组相关推荐

  1. 在mysql中删除表中字段_MySQL中的表中增加删除字段

    1.增加一个字段 alter table user表 add COLUMN new1字段 VARCHAR(20)   NOT NULL DEFAULT 0; //增加一个字段,VARCHERA 20 ...

  2. mysql数据库表添加字段_mysql数据库怎么给表增加一个字段?

    mysql数据库给表增加一个字段的方法:可以使用"ALTER TABLE"语句来增加一个字段,语法格式"ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条 ...

  3. mysql合并多条纪录字段_mysql合并多条记录的单个字段去一条记录

    mysql怎么合并多条记录的单个字段去一条记录,今天在网上找了一下,方法如下: 测试用表结构: -- ------------------------------------------------- ...

  4. mysql修改虚拟列属性失败_mysql虚拟列(Generated Columns)及JSON字段类型的使用

    mysql 5.7中有很多新的特性,但平时可能很少用到,这里列举2个实用的功能:虚拟列及json字段类型 一.先创建一个测试表: drop table if exists t_people; CREA ...

  5. mysql下载是port报错_mysql group replication添加复制节点报错

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 恳求各位大神给把把脉,到底问题处在那个环节 环境: 三台物理机 192.168.1.3 192.168.1.4 192.168.1.5 配置文件: [my ...

  6. mysql连接所有字段_mysql:重命名连接的所有字段

    我没有发现任何相关信息. 这是我的查询: SELECT p.*, pa.*, a.* FROM produit p LEFT OUTER JOIN produit_attribut pa ON p.i ...

  7. mysql怎么进行单表查询_MySQL之单表查询

    一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二.关键 ...

  8. mysql group by 天_MySQL group by语句如何优化

    在MySQL中,新建立一张表,该表有三个字段,分别是id,a,b,插入1000条每个字段都相等的记录,如下: mysql> show create table t1G ************* ...

  9. mysql 子查询多个字段_MySql基础

    本文章目标 ​ 一.为什么要学习数据库 ​ 二.数据库的相关概念 ​ DBMS.DB.SQL ​ 三.数据库存储数据的特点 ​ 四.初始MySQL ​ MySQL产品的介绍 ​ MySQL产品的安装 ...

最新文章

  1. 树形dp ---- 2018年杭电多校第二场 H travel
  2. 以QQ传输文件为例-设计测试用例
  3. 增长黑客的秘诀在于数据的运用
  4. 指定rviz的点启动_好消息!武汉已经启动新冠疫苗紧急接种工作
  5. Hadoop的多节点集群启动,唯独没有namenode进程?(血淋淋教训,一定拍快照)(四十五)...
  6. java context.write_Channel.write() 和 ChannelHandlerContext.write() 的区别
  7. brew安装_解决安装brew报的curl的443错误
  8. redis安装+启动和连接+让redis在后台运行
  9. osgearth介绍
  10. cmd 220 ftp 远程主机关闭连接_网络基础知识:FTP工作流程
  11. [Linux] ubuntu server sudo出现sudo:must be setuid root 完美解决办法
  12. ENSP-----ISIS协议
  13. 导论 计算机组成 ppt,《计算机导论》说课稿PPT课件.ppt
  14. 解决VMWare启动虚拟机出现错误“该虚拟机似乎正在使用中,请按“获取所有权(T)”按钮获取它的所有权。”
  15. 三天打鱼两天晒网的直接差距
  16. ASF网站自带python脚本完成sentinel-1数据自动下载
  17. java向微信公众号---发送模板和图文消息
  18. UI5-文档-4.5-Controllers
  19. TCP和UDP的区别有哪些?
  20. Android 音频源码分析——AndroidRecord录音(一)

热门文章

  1. 2023 年游戏项目中排名前 10 的编程语言
  2. “ 迎奥运、勤学习、树新风”演讲比赛主持词
  3. [虚拟机保护] [原创]关于滴水的VT调试器
  4. 有一种缘,放手后成为风景。有一颗心,坚持中方显真诚。
  5. Docker容器编排利器Compose 安装与简单Demo
  6. linux 垃圾桶命令,linux自制垃圾筒 避免rm误删文件
  7. 文旅夜游为城市高质量发展提供新动力
  8. MATLAB作图技巧汇总
  9. 【陈鹏老师精益项目实战】华东区电机企业精益生产项目第六期总结
  10. 微信小程序连接emqtt