首页 > 其他分享 >11.DQL(数据查询语言)-分组查询

11.DQL(数据查询语言)-分组查询

时间:2024-09-09 11:15:59浏览次数:11  
标签:11 count group employee 分组 DQL 查询语言 where select

语法:

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后的过滤条件 ];

where 和 having 的区别:

执行时机不同:where是分组之前进行过滤,不满足where条件不参与分组;having是分组后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以。

例子:

-- 根据性别分组,统计男性和女性数量(只显示分组数量,不显示哪个是男哪个是女)
select count(*) from employee group by gender;
-- 根据性别分组,统计男性和女性数量
select gender, count(*) from employee group by gender;
-- 根据性别分组,统计男性和女性的平均年龄
select gender, avg(age) from employee group by gender;
-- 年龄小于45,并根据工作地址分组
select workaddress, count(*) from employee where age < 45 group by workaddress;
-- 年龄小于45,并根据工作地址分组,获取员工数量大于等于3的工作地址
select workaddress, count(*) address_count from employee where age < 45 group by workaddress having address_count >= 3;

执行顺序:where > 聚合函数 > having
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

标签:11,count,group,employee,分组,DQL,查询语言,where,select
From: https://www.cnblogs.com/gom-linwei/p/18404172

相关文章

  • MySQL int(10) 与 int(11) 的区别
    不知道大家是不是和我一样,每次给有个列添加 int(11) 的时候都会想,会不会是 int(10) ,偶尔也会发神经的想,如果 int(32) 这样的可否?索性,我们就先来解决这个问题吧。int 类型的底层存储采用的是 4 字节,也就是32位,这样能够存储的实际最大值为 4294967296,大家数数一下......
  • 09.DQL(数据查询语言)-条件查询
    语法:SELECT字段列表FROM表名WHERE条件列表;条件:比较运算符 功能> 大于>= 大于等于< 小于<= 小于等于= 等于<>或!= 不等于BETWEEN…AND… 在某个范围内(含......
  • 南沙信奥赛C++陈老师解一本通题: 1171:大整数的因子
    ​ 【题目描述】已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。【输入】一个非负整数c,c的位数≤30。【输出】若存在满足 c%k==0的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。【输入样......
  • 20240909_011725 c语言 预处理
    在C语言中,第一行#include<stdio.h>是一个预处理指令,用于包含(或说,导入)标准输入输出库(StandardInputOutputLibrary)的头文件。这个库提供了进行输入输出操作的函数,比如printf()用于在屏幕上显示输出,scanf()用于从键盘读取输入等。具体来说:#include是一个预处理指令,告诉编译器......
  • 题解:AT_arc116_b [ARC116B] Products of Min-Max
    在题库里面乱翻,就翻到了。因为在这道题里面子序列不需要考虑元素顺序,所以原序列无论是什么顺序都不会影响答案。所以先把元素按照从大到小的顺序排列,然后考虑每个元素的贡献。在当前序列中,对于元素\(a_i\),不妨设其为最小值,并去寻找它能作为哪些序列的最小值。容易发现它作为最......
  • 代码随想录训练营 Day53打卡 图论part04 110. 字符串接龙 105. 有向图的完全可达性 10
    代码随想录训练营Day53打卡图论part04一、卡码110.字符串接龙本题与力扣127题是一样的,所以这里使用力扣127题。字典wordList中从单词beginWord到endWord的转换序列是一个按下述规格形成的序列beginWord->s1->s2->…->sk:    每一对相邻的单词只......
  • DAY11 栈与队列part02
      逆波兰式求值代码随想录(programmercarl.com)1classSolution{2public:3intevalRPN(vector<string>&tokens){4stack<longlong>st;5for(inti=0;i<tokens.size();i++)6{78if(tokens[i]=="+......
  • Win11系统提示找不到PrintBrmPs.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个PrintBrmPs.dll文件(挑选合适的版本文件)把......
  • Win11系统提示找不到PrintWSDAHost.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个PrintWSDAHost.dll文件(挑选合适的版本文件)......
  • 11-HashSet
    HashSet特点放入Integer类型数据//创建一个HashSet集合:HashSet<Integer>hs=newHashSet<>();hs.add(19);hs.add(5);hs.add(20);hs.add(19);//存重复数据hs.add(41);hs.add(0);System.ou......