【MYSQL5】DQL分组函数与分组查询

(以下的图均截图自B站视频,链接如下【MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷-哔哩哔哩】内容仅用作学习,侵删)


目录

总览

1、DQL(data query language)   基础查询

2、DML(data manipulation language)

3、DDL(data definite language)

4、TCL(transation control language)

5、视图的讲解6、存储过程和函数7、流程控制结构

详细

扫描二维码关注公众号,回复: 14848900 查看本文章

DQL

5 分组函数

5.1 功能、分类与特点

5.2 使用

5.2.1 简单的使用

5.2.2 和distinct搭配使用

5.2.3 count函数的详细介绍

6 分组查询

6.1 语法

 6.2 简单的分组查询

 6.3 添加筛选条件

6.3.1 添加简单的筛选条件

6.3.2 添加复杂的筛选条件

 6.4 按表达式或函数分组

6.5 按多个字段分组

 6.6 添加排序


总览


1、DQL(data query language)   基础查询

条件查询

排序查询

常见函数

分组函数

分组查询

连接查询

子查询

分页查询

union联合查询

2、DML(data manipulation language)


插入语句
修改语句

删除语句

3、DDL(data definite language)


库和表的管理
常见数据类型介绍

常见约束

4、TCL(transation control language)

事务和事务处理

5、视图的讲解
6、存储过程和函数
7、流程控制结构


详细

DQL

5 分组函数

5.1 功能、分类与特点

功能:用作统计使用,又称聚合函数或统计函数或组函数


分类:

sum求和

avg平均值

max最大值

min最小值

count计算个数


特点:

1、sum、avg一般处理数值型

max、min、count可以处理任何类型

2、忽略null值

3、和分组函数一同查询的字段,要求是group by后的字段

5.2 使用

5.2.1 简单的使用

select sum(salary) from employees;

结果:所有人的工资总和


select avg(salary) from employees;

结果:所有人工资的平均值


可以放多个:

select sum(salary) 和,avg(salary) 平均

from employees;


可以嵌套:

select sum(salary) 和,round(avg(salary),2)

from employees;

5.2.2 和distinct搭配使用

select sum(distinct salary),sum(salary) from employees;

结果:可以去重

5.2.3 count函数的详细介绍

普通用法:

select count(salary) from employees;


其他用法:可以查行数

select count(*) from employees;

select count(1) from employees;(意思是加一个常量值,统计个数)


效率:

MYISAM引擎下:count(*)效率最高

INNODB引擎下:count(*)和count(1)效率差不多,count('常量')最慢


6 分组查询

6.1 语法

 6.2 简单的分组查询

 6.3 添加筛选条件

6.3.1 添加简单的筛选条件

6.3.2 添加复杂的筛选条件

案例一:

 要点:

1、需要经过一次筛选,然后在这次筛选的基础上,再筛选。也就是“添加分组后的筛选条件”。

2、不能使用where,使用having


案例二: 

要点: 

1、注意where的使用。使用where要在原始表中。


案例三:

总结:


 6.4 按表达式或函数分组

要点:

1、支持别名 


6.5 按多个字段分组

 6.6 添加排序

 要点:

1、“department”在当前表“employees”中也能找到,所以可以不放在“group by”下面。

2、“group by” 和“order by”支持别名。

猜你喜欢

转载自blog.csdn.net/m0_64432537/article/details/124209664