首页 > 数据库 >【MySQL】MySQL基础05 — SQL学习 — DQL — 常见函数 — 分组函数(转载请注明出处)

【MySQL】MySQL基础05 — SQL学习 — DQL — 常见函数 — 分组函数(转载请注明出处)

时间:2023-04-08 18:57:51浏览次数:51  
标签:salary COUNT 函数 05 employees 分组 MySQL SELECT

SQL学习 — DQL — 常见函数 — 分组函数

4. 常见函数(附加)
/*
概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名。
好处:1.隐藏了实现细节 2.提高代码的重用性
调用语法:select 函数名(实参列表) 【from 表】;
特点:
	1.叫什么(函数名)
	2.干什么(函数功能)

分类:
	1.单行函数
	功能:做处理
	如:cancat \ length \ ifnull等
	2.分组函数
	功能:做统计使用,又称为统计函数、聚合函数、组函数


*/

4.3 分组函数
# 分组函数
/*
功能:用作统计使用,又称为聚合函数或统计函数或组函数

分类:
sum 求和
avg 求平均
max 最大值
min 最小值
count 计算

特点:
1.sum \ avg 一般用于处理数值型
  max \ min \ count 可以处理任何类型
2.以上分组函数均忽略Null值
3.可以和distinct搭配实现去重的运算

count函数单独介绍:
1.一般用count(*)统计行数


注意:和分组函数一同查询的字段要求是group by后的字段

*/
  • 简单的使用 :返回一个值

    #1. 简单的使用: 返回一个值
    SELECT SUM(salary) FROM employees;
    SELECT AVG(salary) FROM employees;
    SELECT MAX(salary) FROM employees;
    SELECT MIN(salary) FROM employees;
    SELECT COUNT(salary) FROM employees;
    
    # 案例1:统计工资的总和,四舍五入工资的平均值并保留小数点后2位
    SELECT SUM(salary) AS '和', ROUND(AVG(salary),2) AS '平均' FROM employees;
    
  • 参数分别支持哪些类型

    #2. 参数支持哪些类型
    SELECT SUM(last_name), AVG(last_name) FROM employees; #适用处理数值型
    
    SELECT MAX(last_name), MIN(last_name) FROM employees; #适用任何类型
    SELECT MAX(hirecate), MIN(hirecate) FROM employees;
    
    SELECT COUNT(commission_pct) FROM employees; #适用任何类型
    SELECT COUNT(last_name) FROM employees;
    
  • 是否忽略Null

    #3.是否忽略Null 
    SELECT SUM(commission_pct), AVG(commission_pct),	# sum \ avg \ max \ min \ count 均忽略Null值
    SUM(commission_pct) / 35, SUM(commission_pct) / 107
    FROM employees;
    
  • 和distinct搭配

    #4.和distinct搭配
    SELECT SUM(DISTINCT salary), SUM(salary) FROM employees;
    SELECT COUNT(DISTINCT salary), COUNT(salary) FROM employees;
    
  • count函数的详细介绍

    #5.count函数的详细介绍
    SELECT COUNT(salary) FROM employees;
    
    SELECT COUNT(*) FROM employees; #统计非Null行数
    SELECT COUNT(1) FROM employees; #括号里的内容相当于直接在表中加了一列都是该内容,行数与其他列一致
    
    #效率分析:
    MYISAM存储引擎下,COUNT(*)的效率高
    INNODB存储引擎下,COUNT(*)和COUNT(1)的效率差不多,比COUNT(字段)要高一些
    
  • 和分组函数一起查询的字段会有限制

    #6. 和分组函数一起查询的字段有限制
    # 显示的结果是错的,原因是avg为分组函数只作统计后一个结果,而employee_id是有107个结果,但必须显示成一个,所以结果是错误的
    SELECT AVG(salary), employee_id FROM employees;
    

4.4 分组函数练习
# 将以下内容复制到sql图像化客户端界面进行思考
#1. 查询员工工资的最大值,最小值,平均值,总和
#2. 查询员工最高工资和最低工资的差距(DIFFERENCE)
#3. 查询部门编号为90的员工个数

4.5 分组函数练习答案

文件名:05SQL_Groupingfunction.sql
下载地址:链接:https://pan.baidu.com/s/1_slO9LaDORqLKIQtbLs3Ww?pwd=ccjz
提取码:ccjz

标签:salary,COUNT,函数,05,employees,分组,MySQL,SELECT
From: https://www.cnblogs.com/blog-cjz/p/17299007.html

相关文章

  • 面试题 05.02. 二进制数转字符串
    题目链接:面试题05.02.二进制数转字符串方法:找规律解题思路(1)题目要求:将一个\(0-1\)之间的实数通过二进制进行表示,并通过字符串形式输出。(2)由于二进制的小数只能表示\(\frac{1}{2}\frac{1}{4}\frac{1}{8}...\frac{1}{2^n}\)数之间的和的十进制小数,因此有些十进制小数不能......
  • mysql学习日记-02 数据表的基本操作
    一、创建和查看数据表创建数据表:前提要选择一个数据库,命令:USE数据库;CREATETABLE表名称(字段名数据类型,...);CREATETABLEuser(u_nameVARCHAR(10),u_ageint(3),u_sexVARCHAR(1)); 查看所有数据表SHOWTABLES; 查看已创建的数据表信息SHOWCREATETAB......
  • 在Vue中使用键盘事件,回调函数被执行两次
    暂时先不考虑v-for的key,查看下面的代码<template><div><[email protected]="addTask"><span>请输入待办事项:</span><inputtype="text"placeholder="请输入..."v-model="text"@keyup.enter=&qu......
  • Jmeter参数化的方式-用户参数、用户自定义变量、CSV文件设置、函数助手
    一、jmeter的主要功能参数化:事先准备好数据,脚本执行时从准备好的数据中取值;可将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则;在脚本运行时,根据需要选取不同的参数值作为输入,该方式成为数据驱动测试(DataDrivernTest,DDT),参数的取值范围称为数据池(Data......
  • 读写分离——Mysql主从复制
    问题说明:读和写所有压力都由一台数据库承担,压力大,数据库服务器磁盘损坏则数据丢失,单点故障写操作——insert、update、delete——》Master主库——数据同步——》Slave从库《——读操作——Mysql主从复制  Mys......
  • 『0008』- Solidity中public、internal、private在状态变量和函数中的使用以及Solidit
    作者:黎跃春,在上一小节中我们在函数参数中使用storage这个关键字时,当前的函数必须是internal或者private类型。在本小节中,我(微信:liyc1215)将重点为大家介绍属性和函数的使用权限。状态变量、函数的权限一、public备注:为了演示方便,我直接通过https://remix.ethereum.org/来进行演示。p......
  • mac python 安装mysqlclient的问题
    问题1: 无法安装mysqlclient报错信息:   解决方法:1. 安装mysql-clientbrewinstallmysql-client2、配置环境变量vi~/.bash_profileexportPATH=/opt/homebrew/opt/mysql-client/bin:$PATHsource~/.bash_profile3、安装mysqlclientpipinsta......
  • Python 进阶指南(编程轻松进阶):十、编写高效函数
    原文:http://inventwithpython.com/beyond/chapter10.html函数就像程序中的迷你程序,允许我们将代码分解成更小的单元。这使我们不必编写重复的代码,因为重复的代码会引入错误。但是编写有效的函数需要做出许多关于命名、大小、参数和复杂性的决定。这一章探索了我们编写函数的......
  • 配置Mysql允许远程访问
    配置Mysql允许远程访问 把Mysql安装在服务器上,然后在本地访问,发现提示Host'***'isnotallowedtoconnecttothisMySQLserver,错误提示很明确,就是目标主机上的Mysql服务不允许连接。1.打开命令提示符,执行Mysql-uroot-proot命令(如果提示Mysql不是内部或外部命令什么......
  • Linux系统下安装MySQL8.0图文教程
    Linux系统下安装MySQL8.0图文教程1.环境准备1.1. 操作系统Centos7.3,中标麒麟7.61.2. 防火墙配置(可关闭防火墙,不建议)操作系统开启防火墙(注意:不建议把防火墙关闭,应该设置开放对应的端口,或者开放给哪些IP地址的哪些端口)。(1) 防火墙端口开放设置:https://www.cnblogs.com/liu......