我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL函数2

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL函数2

MySQL函数2

聚合函数(只有一个结果)

聚合函数的介绍

  • 聚合函数的常用类型(都不含空值)

AVG()

SUM()

MAX()

MIN()

COUNT()

AVG()和SUM()

  • AVG:求平均
  • SUM():求和
#求平均工资和工资总和
SELECT AVG(salary),SUM(salary)
FROM employees;

注:不能处理字符串

MAX()和MIN()

  • MAX():求最大
  • MIN():求最小
#求最高工资和最低工资
SELECT AVG(salary),SUM(salary)
FROM employees;

注:可以处理字符串,数值类型,日期时间类型的字段(或变量)

COUNT()

COUNT():计算指定字段在查询结果中出现的个数

SELECT COUNT("*")
FROM employees

注:不包括null

  • 查询表中有多少条记录:
  1. COUNT("*")(推荐)
  2. COUNT(1)(推荐)
  3. COUNT(指定字段),不一定对(MyISAM存储中效率一样)
  • AVG = SUM COUNT永远成立

GROUP BY(分组)

基本使用

#求各个部门的平均工资
SELECT department_id,AVG(salary)
FROM employees
GROUP BY department_id;

使用 多个列分组

#求各个部门同一工种的平均工资
SELECT department_id,job_id,AVG(salary)
FROM employees
GROUP BY department_id,job_id;#没有先后之分
  • 非组函数的字段必须声明在GROUP BY中

  • GROUP BY在FROM和WHERE的后面,在ORDER BY和LIMIT的后面

GROUP BY中使用WITH ROLLUP

会多出一行(在最后),是总的平均值

不能用ORDER BY 排序

#求各个部门的平均工资
SELECT department_id,AVG(salary)
FROM employees
GROUP BY department_id WITH ROLLUP;

HAVING的使用(过滤数据)

  • 过滤条件有聚合函数,必须用HAVING来替换
  • 过滤条件没有聚合函数,推荐用WHERE
  • HAVING必须声明在GROUP BY的后面
  • 使用HAVING的前提是使用了GROUP BY

基本使用

#查部门id是10,20,30,40四个部门最高工资超过10000的部门信息
方式一:推荐(效率高)
SELECT department_id,sum(salary)
FROM employees
WHERE department——id IN(10,20,30,40)
GROUP BY department_id
HAVING sum(salary) > 10000;

方式二:
SELECT department_id,sum(salary)
FROM employees
GROUP BY department_id
HAVING sum(salary) > 10000 and department——id IN(10,20,30,40);

WHERE和HAVING的比较

  • 适用范围:HARING适用范围更广
  • 没有聚合函数:WHERE效率高于HARING

SELECT的执行过程

查询结构

#SQL92
SELECT...,...(存在组函数)
FROM ...,...
WHERE 多表的连接 AND 不包含聚合函数的过滤条件
GROUP BY...,...
HARING BY包含聚合函数的过滤条件
ORDER BY...,...(ASC  DESC)
LIMIT...,...

#SQL99
SELECT...,...(存在组函数)#2

FROM ... (LEFT  RIGHT)JOIN ...#1
ON多表的连接条件
(LEFT  RIGHT)JOIN ... 
ON 多表的连接条件
WHERE 不包含聚合函数的过滤条件
GROUP BY...,...
HARING BY包含聚合函数的过滤条件

ORDER BY...,..(ASC  DESC)#3
LIMIT...,...

SELECT执行顺序(执行每一步都会有一个虚拟表)

FROM->ON->(LEFT RIGHT JOIN)->WHERE->GROUP BY->HAVING->SELECT->DISTINCT->ORDER BY->LIMIT

SQL执行原理

同上

原文地址:https://www.cnblogs.com/wht-de-bk/archive/2022/03/05/15969557.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL函数2

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL函数2

聚合函数(只有一个结果)聚合函数的介绍聚合函数的常用类型(都不含空值)AVG()SUM()MAX()MIN()COUNT()AVG()和SUM()AVG:求平均SUM():求和#求平均工资和工资总和SELECT AVG(salary),SUM(salary)F
MySQL函数2
2014-06-15
2023-09-06

python 函数(2)

一、内容回顾1.面试题相关:1.py2和py3的区别2.运算符的计算 :3 or 9 and 83.字符串的反转4.is和==的区别5.v1 = (1) v2 = 1 v3 = (1,)有什么区别v1 、v2都是数字,v3是元组6.线上操作
2023-01-31

Python-2 eval函数

x = 1result = "x+1"result = eval(result)print(result)》》2Python3中字符串不能计算结果,eval函数将字符串当成有效Python表达式来求值,并返回计算结果。与之对应的repr函数
2023-01-31

python 之 函数 2

5.36 命名关键字什么是命名关键字参数? 格式:在*后面参数都是命名关键字参数 特点: 1 必须被传值 2 约束函数的调用者必须按照key=value的形式传值 3 约束函数的调用者必须用我们指定的key名 def foo(x,y,*,z
2023-01-31

2-3 T-SQL函数

2-3 T-SQL函数学习系统函数、行集函数和Ranking函数;重点掌握字符串函数、日期时间函数和数学函数的使用参数以及使用技巧重点掌握用户定义的标量函数以及自定义函数的执行方法掌握用户定义的内嵌表值函数以及与用户定义的标量函数的主要区别
2023-01-31

python内置函数2-bytearra

Help on class bytearray in module __builtin__:class bytearray(object) |  bytearray(iterable_of_ints) -> bytearray. |  by
2023-01-31

python的函数学习2

用来存放名字的地方,有三种名称空间:内置名称空间,全局名称空间,局部名称空间。1 比如执行test.py:2 3 python test.py4 1、python解释器先启动,因而首先加载内置名称空间5 2、执行test.py文件,然后以文
2023-01-30

如何在 MySQL DATEDIFF() 函数中使用 2 位年份值?

我们可以在单个日期表达式或在 MySQL DATEDIFF() 函数中用作参数的两个日期表达式中使用 2 位年份值。例如,下面的查询使用 2-第一个日期表达式中的数字年份值,其他日期表达式具有 4 位数的年份值。mysql> Select
2023-10-22

day 16 - 2 内置函数(二)练习

内置函数(二)练习1、用 map 来处理字符串列表,把列表中所有人都变成 sb,比方 alex_sbname=['alex','wupeiqi','yuanhao','nezha'] name=['alex','wupeiqi','yuan
2023-01-30

MySQL数据类型 - JSON数据类型 (2)

JSON值的规范化、合并和自动包装当一个字符串被解析并发现是一个有效的JSON文档时,它也会被规范化。这意味着,具有与稍后在文档中找到的键(从左到右)重复的键的成员将被丢弃。JSON_OBJECT()调用生成的对象值只包含第二个key1元素,因为该键名在之前值

	MySQL数据类型 - JSON数据类型 (2)
2019-09-03

MySQL通讯协议(2)数据包

将数据分成大小为(2^24−1)字节的数据包给每个数据块加上一个包头由于连接的创建和释放都需要耗费资源,所以数据库这种交互频繁,且连接数量不需要特别大的应用场景,一般使用长连接。使用短连接尚能通过RST判断数据是否读完了,而长连接就不能这么做了,同时由于TCP
MySQL通讯协议(2)数据包
2017-10-02

asp.net常用函数收藏第1/2页

/// /// 得到站点用户IP /// /// public static string getUserIP() { return HttpContext.
2022-06-07
2024-04-02

编程热搜

目录