美文网首页
mysql 聚合函数和分组查询

mysql 聚合函数和分组查询

作者: 风雨声豪入梦中 | 来源:发表于2018-10-11 08:52 被阅读0次

count():统计指定列不为NULL的记录行数;
max():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min ():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
sum():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
avg ():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
count() 的使用: count() 和 count(1) 都代表所有;
查询employee表中记录数:select count() from employee;
查询员工表中有绩效的人数:select count(performent) from employee;
sum() 的使用:
查询所有雇员月薪和:select sum(salary) from employee;
查询所有雇员月薪和,以及所有雇员绩效和:select sum(salary),sum(parforment) from employee;
查询所有雇员月薪+绩效和:select sum(salary+ifnull(performance,0)) from employee;
avg() 的使用:
统计所有员工平均工资:select avg(salary) from employee;
max() 和 min() 的使用:
查询最高工资和最低工资:select max(salary),min(salary) from employee;
group by 和 group_concat() 分组查询
group by 和 distinct(去重)很像
什么是分组查询?
将查询结果按照1个或者多个字段进行分组,字段值相同的为1组(例如:有10个人,女的站一排,男的站一排,把男女进行分组); 例如:select gender from employee group by gender;
当group by 单独使用时,只显示出每组的第一条记录,所以单独使用group by 的意义不大,
分组注意事项:在使用分组时,select后面直接跟着的字段一般都在出现在group by后 例子1: 对name和gender同时进行分组 例如:select name,gender from employee group by gender,name;
group by + group_concat()
group_concat(字段名):可以作为一个输出字段来使用
表示分组之后,根据分组结果,使用group_concat()来 放置每一组的某字段的值的集合;
例如:在一组里面所有男性名字和女性名字
select gender,group_concat('name') from employee group by gender;
group by + 聚合函数
例如:查看部门平均薪资:selecct department,group_concat(salary),sum(salary) from employee group by department;
例如:查看每个部门的最高薪资:select department,group_concat(salary),max(salary) from employee group by department;
例如:查询每个部门的部门名称以及每个部门工资大于1500的人数 select name,salary from employee where salary>1500;
group by + having
用分组查询后指定一些条件来输出查询结果,having作用和where一样,但是having只能用于group by
HAVING和WHERE的区别?
(1).having是在分组后对数据进行过滤,where是在分组前对数据进行过滤;
(2).having后面可以使用分组函数(统计函数),where后面不可以使用分组函数;
(3).where是对分组前记录的条件,如果某行记录没有满足where子语句的条件,那么这行记录不参与分 组;having是对分组后的数据约束;
书写顺序:select --> from --> where --> group by --> having --> order by --> limit
执行顺序:from => where => group by => having => select => order by => limit
分页 LIMIT
从哪一行开始查,总共要查几行
LIMIT 参数1, 参数2
参数1:从哪一行开始查
参数2:一共要查几行,角标是从0开始
格式:select * from 表名 limit 0,5;

相关文章

  • MySQL——分组函数、distinct、分组查询、连接查询、子

    MySQL——分组函数、distinct、分组查询、连接查询、子查询 一、分组函数(聚合函数)1、 会自动忽略空值...

  • 05-Mysql数据库02

    mysql数据查询 条件查询 模糊查询 范围查询 判断空 排序 聚合函数 分组 分组要和聚合一起用 分页 连接查询...

  • mysql 聚合函数和分组查询

    count():统计指定列不为NULL的记录行数;max():计算指定列的最大值,如果指定列是字符串类型,那么使用...

  • mysql 聚合函数和分组查询

    count():统计指定列不为NULL的记录行数;max():计算指定列的最大值,如果指定列是字符串类型,那么使用...

  • 数据库分组查询(Group by)

    分组查询命令 -- group by-- having **分组查询中,select后只能跟分组的字段和聚合函数 ...

  • 2020-08-03(约束)

    1,dql:查询语句; 排序查询,聚合函数,分组查询,分页查询; a,排序; order by ,asc...

  • 数据库查询语句

    条件与逻辑查询 模糊查询 范围查询 排序 聚合函数 分组 连接查询 分页 子查询

  • mysql函数和分组聚合

    使用limit限定输出个数 mysql的常用函数 concat函数 可以将查询出的数据连接成一个 rand函数 随...

  • mysql聚合函数和分组

    聚合函数的使用---聚合函数,为了统计而生count(*)表示计算总行数: 分组的基本使用: 查看按着性别分组以后...

  • MySQL白菜教程(Level 7)

    1. 分组查询 GROUP BY 子句GROUP BY 函数就是 SQL 中用来实现分组的函数,其用于结合聚合函数...

网友评论

      本文标题:mysql 聚合函数和分组查询

      本文链接:https://www.haomeiwen.com/subject/gtmvaftx.html