在对数据表中数据进行统计时,可能需要按照一定的类别分别进行统计,比如,分别统计student表中,gender字段值为na、nv和NULL的学生成绩grade之和

MySQL中,使用GROUP BY按某个字段,或者多个字段中的值,进行分组,字段中值相同的为一组

SELECT 字段名1,字段名2,……

FROM 表名

WHERE BY 字段名1,字段名2,……[HAVING 条件表达式];

参数说明

指定的字段名1、字段名2,是对查询结果分组的依据

HAVING关键字,指定条件表达式,对分组后的内容进行过滤

GROUP BY,一般和聚合函数一起使用,如果,查询的字段出现在GROUP BY后,却没有包含在聚合函数中,该字段显示的是,分组后的第一条记录的值,这样,可能会导致查询结果不符合我们的预期

一、单独使用GROUP BY分组

单独使用GROUP BY关键字,查询的是每个分组中的一条记录

查询student表中的记录,安装gender字段值进行分组

可以看出,返回了3条记录,分别是gender字段值为NULL、nv、na的记录,查询结果按照gender字段中不同的值进行了分类,然后,值显示每个分组中的一条记录,意义不大,一般情况下,GROUP BY都和聚合函数一起使用

二、GROUP BY和聚合函数,一起使用

GROUP BY和聚合函数,一起使用,可以统计出某个,或者某些字段在一个分组中的最大值、最小值、平均值

查询student表,按照gender字段值进行分组,计算出每个分组中各有多少名学生

可以看出,GROUP BY对gender字段进行了分组,然后,通过COUNT()函数统计出了每组的数量

三、GROUP BY和HAVING关键字,一起使用

HAVING关键字和WHERE关键字的作用相同,都是用于设置条件表达式,对查询结果进行过滤。

两者的区别,HAVING关键字后,可以跟聚合函数,而WHERE关键字不能,通常情况下,HAVING关键字,都是和GROUP BY一起使用,用于对分组后的结果进行过滤

查询student表,按照gender字段进行分组,查询出grade字段值之和小于300的分组

可以看出,只有gender字段值为NULL和nv的分组,grade字段值之和小于300

验证查询结果,对gender字段值为na的记录,grade字段值之和进行查询

可以看出,gender字段值为na,所有学生的grade字段之和为523

mysql按照学生分组查询_MySQL分组查询相关推荐

  1. mysql 分类查询_MySQL:分组查询

    #进阶5:分组查询 /*语法:select 分组函数,列(要求出现在group by的后面)from 表[where 筛选条件]group by 分组的列表[order by 子句]注意:查询列表必须 ...

  2. MySQL实验四数据库的查询_MySQL数据库查询(实验四)

    MySQL数据库查询 准备工作:脚本文件xkgl.sql下载:xkgl脚本.sql 1.执行脚本xkgl.sql (创建xkgl库.表及插入数据),观察有无错误,如有记录错误信息,并解决. (1) 执 ...

  3. mysql数据库的查询_mysql数据库查询

    查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...

  4. mysql商品查询_mysql的查询、子查询及连接查询(商城查询常用)

    一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 1.where常用运算符: 比较运算符 > ...

  5. mysql数据库操作多表查询_MySQL数据库查询操作进阶——多表查询

    多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...

  6. 简单mysql 查询_MySQL简单查询详解

    MySQL的查询操作 单表查询:简单查询 多表查询:连接查询 联合查询 布尔条件表达式操作符= 等值比较 <=>:跟空值比较不会产生额外信息的等值比较 <>:不等值 <: ...

  7. mysql外连接的含义_MySQL连接查询,内连接,外连接,全连接,交叉连接_cly_32的博客-CSDN博客...

    原文作者:起个花名好难 原文标题:MySQL连接查询,内连接,外连接,全连接,交叉连接 发布时间:2021-01-27 13:46:33 1.含义 当查询中涉及到多个表的字段,需要使用多表查询 sel ...

  8. mysql lambda查询_MySQL高级查询和编程基础

    学习概述 随着数据库管理信息系统的日益复杂和庞大,软件应用系统对数据库设计.数据存储.数据查询和数据维护等提出了更高的要求.本书主要介绍数据库设计的方法和技术.子查询技术.MySQL编程基础知识和存储 ...

  9. mysql查询_MySQL常用查询

    单表查询 ①查询所有     * mysql> select * from student; ②查询选中字段记录 mysql> select s_name from student; ③条 ...

  10. mysql的右连接查询_mysql连接查询(左连接,右连接,内连接)

    一.mysql常用连接 INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录. LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录. RIGHT JOIN ...

最新文章

  1. 强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例
  2. 可解释性 or 准确性?AI 模型就一定不能两者兼得吗?
  3. 查看磁盤使用情况linux,在Linux系统下安装Filelight来查看磁盘使用情况
  4. 一文攻破枚举类型-C语言
  5. OpenCASCADE:拓扑 API之3D模型Defeaturing
  6. Leetcode--1028. 从先序遍历还原二叉树(Java)
  7. Python中添加中文注释报错SyntaxError: Non-UTF-8 code starting with '\xc1'
  8. 【java】java 多线程 异步计算 FutureTask 源码详解
  9. 如何去掉ArrayList重复的id
  10. lisp princ详解_LISP教程
  11. 第一款无代码应用平台搭建的设备管理系统
  12. HBuilderX 连接网易mumu手机模拟器进行App开发
  13. 渗透安全学习记录笔记
  14. vue基于Echarts的拖拽数据可视化功能实现
  15. NLP学习笔记30-SVM 对偶、KTT,核函数
  16. 计算机专业的笔记本电脑配置要求,笔记本电脑硬件配置全解析,看完让你轻松选择笔记本...
  17. Servlet 03
  18. 高性能 MySQL实战
  19. 音频混音接口调节音量及设置静音
  20. 疯狂的架构,BAT加华为、联想、新浪公司组织结构图一览

热门文章

  1. 戴尔 微博 服务器 销售,微博营销案例之戴尔
  2. 阿里云实践案例:使用ECS与OSS搭建个人云盘
  3. 这竟然是全世界最好的模式(商业大佬为之咂舌)
  4. 搜款网根据ID取商品详情 API
  5. AD参数微分非线性(DNL)与积分非线性(INL)
  6. 概率论与数理统计 | (16) 方差分析与一元线性回归
  7. C#中DataTime.Now函数详解
  8. 扑克牌游戏----花色从大到小按黑桃(Spade)、红桃(Heart)、梅花(Club)、方块(Diamond)排列
  9. 【转发分享】基于51单片机摩尔斯电码收发控制设计-基于51单片机智能恒温控制系统-基于51单片机霍尔测速直流电机设计-51单片机和MAX1898的智能手机充电器设计-基于51单片机的智能指纹考勤系统
  10. 二人行必有我师,探秘复旦大学EMBA2019级同侪私董会