首页 > 数据库 >MYSQL学习笔记8: DQL分组查询(group by)

MYSQL学习笔记8: DQL分组查询(group by)

时间:2024-03-08 22:55:51浏览次数:27  
标签:group gender 分组 MYSQL DQL where having select

DQL分组查询(group by)

语法
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
where和having的区别
  • 执行时机不同: where是在分组之前进行过滤,不满足where条件,不参与分组; having是分组之后对结果进行过滤

  • 判断条件不同:where不能对聚合函数进行判断,having可以


根据员工性别分组, 统计男女员工数量

select gender, count(*) from workers group by gender;

根据性别分组,并统计平均年龄

select gender, avg(age) from workers group by gender;

查询年龄>45的员工, 并按入职日期分组, 获取员工数量>=2的入职日期

select entryDate, count(*) dateCount
    from workers
    where age>45
    group by entryDate
    #分组后过滤
    having dateCount>=2;

标签:group,gender,分组,MYSQL,DQL,where,having,select
From: https://www.cnblogs.com/HIK4RU44/p/18062024

相关文章

  • MYSQL学习笔记6: DQL条件查询(where)
    DQL条件查询(where)查询为空isnull#使用'is'而不是'='select*fromworkerswhereidCardisnull;查询非空isnotnullselect*fromworkerswhereidCardisnotnull;!=的其他表示方法<>select*fromworkerswhereage<>90;查询数据范围#格式select......
  • Mysql 学习记录 #01
    Mysql学习记录#01表的基本操作--创建表CREATETABLEIFNOTEXISTS`student`( `id`INT(4)NOTNULLAUTO_INCREMENTCOMMENT'编号', `name`VARCHAR(30)NOTNULLDEFAULT'匿名'COMMENT'姓名', `pwd`VARCHAR(20)NOTNULLDEFAULT'123456�......
  • mysqldump+binlog备份脚本
    mysqldump是一种逻辑备份工具,可以对数据库进行全量备份,和binlog增量备份共同使用可以进行数据库备份,基于此写了一个备份的脚本#!/bin/bashall_path="/opt/mysql_bakup/all"#MySQL全量备份目录add_path="/opt/mysql_bakup/add"#MySQL增量备份目录old_all_path="/o......
  • MySQL(六):MySQL之MVCC
    1、事务的引入事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句),要不全部成功,要不全部不成功。如:A给B划钱,A的账户-100元,B的账户就要+100元,这两个update语句必须作为一个整体来执行,不然A扣钱了,B没有加......
  • 如何避免MYSQL主从延迟带来的读写问题?
    在MYSQL部署架构选型上,许多公司都会用到主从读写分离的架构,如下是一个一主一从的架构,主库master负责写入,从库slave进行读取。但是既然是读写分离,必然会面临这样一个问题,当在主库上进行更新后,有可能数据还没来得及同步到从库,但是这个时候又有读数据的需求,为了能正确读取出数据,这......
  • MySQL(四):InnoDB引擎底层解析
    官方文档地址:https://dev.mysql.com/doc/refman/8.3/en/innodb-storage-engine.html。InnoDB存储引擎有三大特性:双写机制、BufferPool、自适应Hash。InnoDB存储引擎架构的内存和磁盘结构如下:上述架构图描述了数据在内存和磁盘上的流转和存储流程,在实际开发......
  • 笔记(五):MySQL之事务概述
    一、什么是事务事务(Transaction):访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。当在数据库中更改数据成功时,在事务中更改的数据便会提交,不再改变。否则,事务就取消或者回滚,更改无效。二、事务的四大特性1、原子性(Atomicity)原子性是指事务包含的所有操作要么......
  • MySQL(三):MySQL的执行原理
    1、单表访问之索引合并-indexmergeMySQL中使用多个索引来完成一次查询的执行方法称之为索引合并(indexmerge)。索引合并算法有Intersection合并、Union合并、Sort-Union合并。1.1、Intersection合并Intersection合并,某个查询可以使用多个二级索引,将从多个二级索......
  • MySQL(二):MySQL中的系统库
    1、概述MySQL有几个系统数据库,包含了MySQL服务器运行过程中所需的一些信息以及一些运行状态信息。系统库作用performance_schemaMySQL服务器运行过程中的一些状态信息,是对MySQL服务器的一个性能监控,包括最近执行的语句,及花费的时间、内存使用情况等信息informa......
  • MySQL(一):整体架构
    1、整体概述  MySQL是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。1.1、ConnectionPool-连接池创建数据库连接是一个耗时的操作,连接池的作用就是将这些连接缓存下来,再次访问数据库时,可以直接用已经建立好的连接,提升服......