【Mysql数据库基础03】分组函数(聚合函数)、分组查询

分组函数(聚合函数)、分组查询

  • 0 该博客所要用的数据库表的属性
  • 1 分组函数
    • 1.1 简单的使用
    • 1.2 是否忽略null值
    • 1.3 和关键字搭配使用
    • 1.4 count函数的详细介绍
    • 1.5 练习
  • 2 分组查询Group by
    • 2.1 简单的分组查询
    • 2.2 练习
  • 3 格式投票:yum:

0 该博客所要用的数据库表的属性

在这里插入图片描述

1 分组函数

1.1 简单的使用

  1. COUNT(expression):计算符合指定条件的行数。常用于计算记录数量。

  2. SUM(expression):对指定列的值求和。通常用于计算数值型字段的总和。

  3. AVG(expression):计算指定列的平均值。常用于计算数值型字段的平均值。

  4. MIN(expression):计算指定列的最小值。用于找出某一列中的最小值。

  5. MAX(expression):计算指定列的最大值。用于找出某一列中的最大值。

select 
	sum(salary) as,
	count(salary) as 个数,
	round(avg(salary),2) as 平均,
	max(salary) as 最高,
	min(salary) as 最低
from 
	employees;

在这里插入图片描述

1.2 是否忽略null值

null+任意值=null

select sum(commission_pct),avg(commission_pct)
from employees;

1.1的分组函数都忽略null值

1.3 和关键字搭配使用

select count(distinct salary) as 有几种工资
from employees;

1.4 count函数的详细介绍

统计行数

select count(*)
from employees;

1.5 练习

在这里插入图片描述
1

select
	max(salary) as 最大值, min(salary) as 最小值, avg(salary) as 平均值, sum(salary) as 总和
from employees;

2

select DATEDIFF(max(hiredate),min(hiredate)) as DIFFERENCE
from employees;

3

select count(*) as 员工个数
from employees
where department_id=90;

2 分组查询Group by

select
from
where
group by
order by

2.1 简单的分组查询

1.查询每个工种的最高工资

select max(salary),job_id
from employees
group by job_id;

2.查询哪个部门的员工个数>2

select count(*),department_id
from employees
group by department_id
having count(*)>2;

3.查询每个工种有奖金的员工的最高工资>12000的工种编号和最高工资

select max(salary),job_id
from employees
where commission_pct is not null
group byjob_id
having max(salary)>12000;

4.查询领导编号>102的每个领导手下的最低工资>5000的领导编号是哪个,以及其最低工资

select manager_id,min(salary)
from employees
where manager_id>102
group by manager_id
having min(salary)>5000;

2.2 练习

1.查询各job_id的员工工资的最大值,最小值,平均值,总和,并按job_id升序

select job_id,max(salary),min(salary),avg(salary),sum(salary)
from employees
group by job_id
order by job_id asc;

2.查询员工最高工资和最低工资的差距(DIFFERENCE)

select max(salary)-min(salary) as DIFFERENCE
from employees;

3.查询各个管理者手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内

select manager_id,min(salary)
from employees
where manager_id is not null
group by manager_id
having min(salary)>=6000;

4.查询所有部门的编号,员工数量和工资平均值,并按平均工资降序

select department_id,count(*) as 员工数量,avg(salary)
from employees
group by department_id
order by avg(salary) desc;

5.选择具有各个job_id的员工人数

select job_id,count(*) as 员工人数
from employees
group by job_id;

3 格式投票😋

在这里插入图片描述

题外话,有一个格式投票,大家认为哪种好看呢
格式1.

select employee_id
from employee;

格式2.

select
	employee_id
from
	employee;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/481981.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

树,二叉树与堆

这里写目录标题 树树的概念树的相关概念树的表示 二叉树二叉树的概念满二叉树与完全二叉树二叉树的重要性质二叉树的存储结构 堆二叉树的顺序存储堆的概念堆的实现堆插入和删除数据 树 树的概念 树的概念: 树是一种非线性的数据结构,它是由n&#xff08…

Teable——强大的在线数据电子表格

公众号:【可乐前端】,每天3分钟学习一个优秀的开源项目,分享web面试与实战知识,也有全栈交流学习摸鱼群,期待您的关注! 每天3分钟开源 hi,这里是每天3分钟开源,很高兴又跟大家见面了&#xff0…

在线获取文本列表并集计算器

具体请前往:在线文本并集计算工具

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的捕获模式(外部中断)应用

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的捕获模式(外部中断)应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍STC12C5A60S2系列1T 805…

学历提升外贸函电试题及答案,分享几个实用搜题和学习工具 #学习方法#笔记#微信

随着信息技术的快速发展,搜题软件应运而生,为大学生提供了便捷的问题解答方式。 1.九超查题 这个公众号比较有趣,它也是可以搜网课题目,复制题目到窗口即可。 题目解析很详细,题库丰富,有较多的学习资料…

docker desktop 登录不上账号

配置走代理(系统全局)也没用 解决方法 参考博文: https://blog.csdn.net/weixin_37477009/article/details/135797296 https://adoyle.me/Today-I-Learned/docker/docker-desktop.html 下载 Proxifiler 配置 Proxifiler

掌握这6大工具,自媒体ai写作之路畅通无阻! #知识分享#媒体#科技

从事自媒体运营光靠自己手动操作效率是非常低的,想要提高运营效率就必须要学会合理的使用一些辅助工具。下面小编就跟大家分享一些自媒体常用的辅助工具,觉得有用的朋友可以收藏分享。 1.元芳写作 这是一个微信公众号 面向专业写作领域的ai写作工具&am…

爬虫(七)

1.批量爬取知网数据 lxml:是 Python 的一个功能强大且易用的 XML 和 HTML 处理库。它提供了简单又轻巧的 API,使得解析、构建和操作 XML 和 HTML 文档变得非常方便。lxml 库通常用于处理 XML 和 HTML 文档,例如解析网页、处理配置文件等。openpyxl:是 Python 中用于操作 Ex…

uniapp开发:vue3 中vuex的使用

开发工具HbuilderX3.98 在根目录下创建store目录,并在该目录下创建index.js文件 index.js 文件 /*index.js 文件*/// #ifndef VUE3 import Vue from vue import Vuex from vuex import audio from "/store/modules/audio.js" Vue.use(Vuex) const store…

软件测试-概念

衡量软件测试结果的依据--需求 需求的概念 满足用户期望或正式规定文档(合同, 规范, 标准)所具备的条件或权能, 包含用户需求和软件需求. IEEE:定义: 软件需求是(1)用户解决问题或达到目标所需的条件或权能. (2)系统或系统部件要满足合同, 标准, 规范或其它正式规定文档所具备…

使用Lerna搭建业务组件库

Lerna基本概念 Lerna 是一个用来优化托管在 git\npm 上的多 package 代码库的工作流的一个管理工具,可以让你在主项目下管理多个子项目,从而解决了多个包互相依赖,且发布时需要手动维护多个包的问题。 主要功能: 为单个包或多个包运行命令 …

VMware Workstation Pro 17虚拟机超级详细搭建(含redis,nacos,docker)(一)

今天从零搭建一下虚拟机的环境,把nacos,redis等微服务组件还有数据库搭建到里面,首先看到的是我们最开始下载VMware Workstation Pro 17 之后的样子,总共一起应该有三部分因为篇幅太长了 下载地址 : VMware - Delivering a Digit…

ElasticSearch首次启动忘记密码,更改密码(Windows 10)

先启动ElasticSearch 启动方式cmd到lasticsearch-8.12.2\bin目录下输入elasticsearch 启动成功后新开一个窗口输入elasticsearch-reset-password -u elastic

34.基于SpringBoot + Vue实现的前后端分离-足球俱乐部管理系统(项目 + 论文)

项目介绍 系统包含用户、教练、管理员三个角色 用户:登录、注册、查看俱乐部公告信息、查看俱乐部赛事信息、个人中心等教练:登录、个人中心、用户管理、赛事管理、球员数据管理、训练计划管理、公告信息管理等管理员:登录、个人中心、教练…

外包干了4年,技术退步明显.......

先说一下自己的情况,大专生,19年通过校招进入杭州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

在 GraalVM 静态编译下无侵入实现可观测探索

作者:铖朴、层风 GraalVM 静态编译 背景介绍 随着云原生浪潮的蓬勃发展,利用云原生技术为企业应用提供极致的弹性能力是企业数字化升级的核心诉求。但 Java 作为一种解释执行运行时实时编译的语言,相比于其他静态编译型语言天生具有如下不…

医疗器械-安规之漏电流测量

导致漏电的原因 半导体 PN结在截止时流过的很微小的电流。在D-S设在正向偏置,G-S反向偏置,导电沟道打开后,D到S才会有电流流过。但实际上由于自由电子的存在,自由电子的附着在SIO2和N、导致D-S有漏电流。 电源 开关电源中为了…

2 Spring之IOC详解

文章目录 4,IOC相关内容4.1 bean基础配置4.1.1 bean基础配置(id与class)4.1.2 bean的name属性步骤1:配置别名步骤2:根据名称容器中获取bean对象步骤3:运行程序 4.1.3 bean作用范围scope配置4.1.3.1 验证IOC容器中对象是否为单例验证思路具体实现 4.1.3.2…

AI元年,这5款AI写作能为你提供帮助

自从人工智能技术的迅猛发展以来,AI在各个领域都取得了巨大的进步。其中,AI写作工具成为越来越多人关注的焦点。在这个AI元年,小编想向大家分享5款可能对你有帮助的AI写作工具,如果你也想找AI写作相关的工具,那么来看看…

面试算法-82-不同路径

题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? …
最新文章