Mysql之分组查询

2023-10-29

学习目标

  • 能够写出分组查询的SQL语句

1. 分组查询介绍

分组查询就是将查询结果按照指定字段进行分组,字段中数据相等的分为一组。

分组查询基本的语法格式如下:

GROUP BY 列名 [HAVING 条件表达式] [WITH ROLLUP]

说明:

  • 列名: 是指按照指定字段的值进行分组。
  • HAVING 条件表达式: 用来过滤分组后的数据。
  • WITH ROLLUP:在所有记录的最后加上一条记录,显示select查询时聚合函数的统计和计算结果

2. group by的使用

group by可用于单个字段分组,也可用于多个字段分组

-- 根据gender字段来分组
select gender from students group by gender;
-- 根据name和gender字段进行分组
select name, gender from students group by name, gender;

3. group by + group_concat()的使用

group_concat(字段名): 统计每个分组指定字段的信息集合,每个信息之间使用逗号进行分割

-- 根据gender字段进行分组, 查询gender字段和分组的name字段信息
select gender,group_concat(name) from students group by gender;

4. group by + 聚合函数的使用

-- 统计不同性别的人的平均年龄
select gender,avg(age) from students group by gender;
-- 统计不同性别的人的个数
select gender,count(*) from students group by gender;

5. group by + having的使用

having作用和where类似都是过滤数据的,但having是过滤分组数据的,只能用于group by

-- 根据gender字段进行分组,统计分组条数大于2的
select gender,count(*) from students group by gender having count(*)>2;

6. group by + with rollup的使用

with rollup的作用是:在最后记录后面新增一行,显示select查询时聚合函数的统计和计算结果

-- 根据gender字段进行分组,汇总总人数
select gender,count(*) from students group by gender with rollup;
-- 根据gender字段进行分组,汇总所有人的年龄
select gender,group_concat(age) from students group by gender with rollup;

7. 小结

  • group by 根据指定的一个或者多个字段对数据进行分组
  • group_concat(字段名)函数是统计每个分组指定字段的信息集合
  • 聚合函数在和 group by 结合使用时, 聚合函数统计和计算的是每个分组的数据
  • having 是对分组数据进行条件过滤
  • with rollup在最后记录后面新增一行,显示select查询时聚合函数的统计和计算结果

Python零基础笔记汇总:

Python解释器详解

注释作用及分类 运算符总结 定义变量与数据类型
if判断与循环总结 理解面向对象 集合操作方法 列表的常用操作
Python异常 元组应用及操作

Python爬虫笔记篇(含项目实战案例):

代理池概述及开发环境 代理池的设计 实现代理池思路 定义代理IP的数据模型类
实现代理池工具模块 实现代理池的校验模块 实现代理池的数据库模块 实现代理池的爬虫模块
实现代理池的检测模块

实现代理池的API模块

Bilibili模拟登陆(滑动验证码)

Python Web篇笔记(更新中……):

Part 01—Linux基础命令
操作系统与虚拟机软件 了解Ubuntu操作系统 Linux查看、切换目录命令 绝对路径和相对路径
 创建、删除、复制、移动文件及目录命令  ls命令选项 mkdir和rm命令选项  cp和mv命令选项
Part 02—Linux高级命令
重定向命令 查看文件内容命令、链接命令 文本搜索命令 查找文件命令
压缩和解压缩命令 文件权限命令 获取管理员权限的相关命令 用户相关操作
用户组相关操作 远程登录、远程拷贝命令
静态Web服务器
搭建Python自带静态Web服务器 静态Web服务器-返回固定页面数据 静态Web服务器-返回指定页面数据 静态Web服务器-多任务版
静态Web服务器-面向对象开发 静态Web服务器-命令行启动动态绑定端口号
MySQL数据库的基本使用
了解数据库的作用、特点及关系型数据库管理系统 MySQL数据库的安装介绍 数据类型和约束 命令行客户端MySQL的使用
as和distinct关键字 SQL语句—where条件查询 MySQL之排序查询与分页查询
MySQL数据库的条件查询
mysql中常见的聚合函数

2022年Python+大数据学习路线图,源码笔记,最优学习资源_黑马程序员官方的博客-CSDN博客任何学习过程都需要一个科学合理的学习路线,才能够有条不紊的完成我们的学习目标。Python+大数据所需学习的内容纷繁复杂,难度较大,所以今天特别为大家整理了一个全面的Python+大数据学习路线图,帮大家理清思路,攻破难关!文章目录前言第一阶段 大数据开发入门1.大数据数据开发基础MySQL8.0从入门到精通第二阶段 大数据核心基础2022版大数据Hadoop入门教程第三阶段 千亿级数仓技术数据离线数据仓库,企业级在线教育项目实战(Hive数仓项目完整流程)第四阶段 PB内存计算1.pythohttps://blog.csdn.net/itcast_cn/article/details/1223065522022年人工智能学习路线图,清楚明确_黑马程序员官方的博客-CSDN博客_人工智能学习路线图众所周知,人工智能时代已经融入到我们的生活的当中,不论是图像识别还是语音识别的相关产品已经开始落地,就连国家都将人工智能设为了国家战略级发展规划,人工智能开发将会是是未来技术研究的前沿。下面特别给大家整理了人工智能的学习路线,希望大家都能有清楚的学习方向。文章目录第一阶段 人工智能开发入门1. 人工智能之python编程零基础入门2、4天快速入门Python数据挖掘第二阶段 机器学习核心技术第三阶段 NLP自然语言处理技术第四阶段 CV计算机视觉技术1.AI-OpenCV图像处理10小时零基础入门2https://blog.csdn.net/itcast_cn/article/details/122882407

详情大家可以关注Python专栏,努力为大家更新更多好内容 ↑ ↑ ↑  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql之分组查询 的相关文章

随机推荐

  • c++函数为什么带imp_二次函数含参最值问题,老师怎么讲学生都不明白,试试这九张动图...

    一入函数深似海 从此数学是路人 很多同学都有这样的感觉 问 数学是从什么开始听不懂了 答 学函数的时候 函数问题作为中学阶段数学重要的知识点 真的是难倒了很多同学 数学老师也非常的痛苦 每次讲完函数问题 看到大家一脸茫然的表情 都会狠狠心再
  • Mac M1 Xcode创建动态链接库dylib(c++)——JNA-JNI(三)

    Mac M1 Xcode创建动态链接库dylib c JNA JNI 三 系列文章 Java通过JNI调用C 动态链接库dll 并打在jar包内 JNA JNI 一 Java使用JNA调用C 动态链接库 JNA JNI 二 Mac M1 X
  • 学1个月python爬虫就月赚6000?告诉你爬虫的真实情况!

    用爬虫赚外快的事情我也干了很多年 爬虫自然不在话下 那么今天我来说说5个深入一点的爬虫问题 让你清楚爬虫的真实情况 1 现在的爬虫接单真能1个月赚6000的快外 2 初级爬虫只能接一些小单 怎样才算初级爬虫水平 3 中级爬虫是职业爬虫工程师
  • 自学c++笔记(三)

    笔记记录本人学习C 路上的一些摘要与总结 供本人阅读同时也分享与他人 转义序列 换行符 n 水平制表符 t 退格 b 回车 r 振铃 a wchar t 宽字符类型 是一种整型类型 使用wcin和wcout来处理wchar t流 const
  • 动态规划-砝码称重问题

    动态规划 Dynamic Programming 这个词乍一听感觉甚是高大上 初次学习或者使用的时候会感觉难以理解 这是正常的 毕竟凡事都是一回生二回熟 其实它也不难的 大家要明白一个道理 能写到课本上给学生学习的东西必然属于不难的东西 因
  • java中emptyMap()方法具有什么功能呢?

    转自 java中emptyMap 方法具有什么功能呢 下文笔者讲述emptyMap 方法的功能简介说明 如下所示 emptyMap 方法的功能 返回一个不变的空map emptyMap的语法 public static final Map
  • 物联网 MQTT 服务质量级别

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 翻译人 Tnecesoc 该成员来自云 社区翻译社 消息队列遥测传输 MQTT 是一种客户端服务器发布 订阅消息传输协议 它轻量 开放 简单 其设计也易于实施 这些特性使其非常适合用
  • DETR系列:RT-DETR实战部署

    上篇文章介绍RT detr的论文内容 RT DETR 论文解析 本篇文章介绍算法复现 tensorRT加速 python代码部署tensorRT测试单张图片或文件夹 RT DETR实战部署 1 复现模型详情 2 环境准备 3 训练 4 部署
  • VirtualBox 共享文件夹设置 及 开机自动挂载

    鉴于支付宝等服务无视我们Linux用户的存在 没办法 那只好在Linux上用VirtualBox虚拟一个Windows系统了 系统装好了 在日常使用过程中 往往要从 VirtualBox的客户机 guest system 中使用主机 hos
  • 第一列有0时存成csv0消失的解决方法

    df 带零列 t df 带零列
  • python初学者(四)---键值对

    这篇文章先来说一下python的键值对 即字典形式 举个栗子 info stu110 tengxun stu112 baidu stu113 alibaba 这就是python的键值对形式 前面为key 后面为values 声明一点的是 键
  • Pytorch深度学习(四):用Pytorch实现线性回归

    用Pytorch实现线性回归 一 概念 1 准备数据集 2 使用Class设计模型 3 构建损失函数和优化器的选择 4 进行训练的迭代 二 完整代码如下 一 概念 上图主要介绍了使用Pytorch解决问题的四个步骤 1 准备数据集 1 准备
  • Android java.lang.RuntimeException: Parcelable encountered IOException writing serializable object 解

    Android中的Activity传递数据时 为了方便往往将很多数据封装成对象 然后将整个对象传递过去 传对象的时候有两种情况 一种是实现Parcelable接口 一种是实现Serializable接口 可以用bundle putSeria
  • 学习链表必备的1w个技巧Java版本

    链表 关于作者 作者介绍 博客主页 作者主页 简介 JAVA领域优质创作者 一名在校大三学生 在校期间参加各种省赛 国赛 斩获一系列荣誉 关注我 关注我学习资料 文档下载统统都有 每日定时更新文章 励志做一名JAVA资深程序猿 简介 链表是
  • oracle如何删除重复的记录,oracle查找及删除重复记录的几种方法

    一 oracle查找重复记录的几种方法 1 查找大量重复记录 select empno from emp a group by empno having count gt 1 select from emp a where rowid no
  • 漂亮~阿里P8整理总结,金九银十入职大厂必备的Java核心知识点,附加面试题+答案解析

    前言 金九银十就要来了 不知道程序员们都准备好了吗 今天就给大家分享一波一位小伙伴面试大厂的经历 知识点和面试题分享 主要内容包括 JVM JAVA集合 JAVA多线程并发 JAVA基础 Spring原理 微服务 Netty与RPC 网络
  • STM32芯片3.3V IO口驱动MOS管电路

    Nmos管做低端驱动 电路工作原理说明 对于Nmos管 G极电位比S极电位高于导通域值电压便会导通 对于Pmos管则相反 G极电位比S极电位低于导通域值电压才会导通 所以Nmos管适合做低端驱动 S极接地 以使S极的电压固定 Pmos管适合
  • 七牛云详细教程(包含与阿里云建立连接)

    七牛云详细教程 包含与阿里云建立连接 1 七牛云简介 不管是设计师 还是开发者 亦或是个人 公司 我们有时会需要将图片存在网络上 然后用链接来分享给他人 或是 用来给网站做图片外链 通过CDN加速 新浪 QQ 百度等等公司基本都做了防盗链
  • android源码linux环境配置及其编译方法

    安装依赖libs sudo apt get install openjdk 11 jdk 安装jdk sudo apt get install libx11 dev i386 libreadline6 dev i386 libgl1 mes
  • Mysql之分组查询

    学习目标 能够写出分组查询的SQL语句 1 分组查询介绍 分组查询就是将查询结果按照指定字段进行分组 字段中数据相等的分为一组 分组查询基本的语法格式如下 GROUP BY 列名 HAVING 条件表达式 WITH ROLLUP 说明 列名