美文网首页
数据库分组查询(Group by)

数据库分组查询(Group by)

作者: 轻云之闭月 | 来源:发表于2018-03-30 19:21 被阅读22次

分组查询命令

-- group by
-- having

**分组查询中,select后只能跟分组的字段和聚合函数 **

  • 查询每个班学生的最大年龄
    select classnum, max(age) from tb group by classnum;

假设有n个班,按照班级号分组后,classnum有n个,max(age)也有n个,数量相同。

select name, classnum, max(age) from tb group by classnum;

分组之后,学生姓名并不是n个,与其它几个查询列数量不符,所以出错。

  • 查询每个班中男女生的最大年龄
    select class, sex,max(age) from tb group by class, sex;

  • 查询每个班中男女生的平局年龄,且平均年龄大于15岁
    selcet class, sex , avg(age) from tb group by class, sex having avg(age) > 15;

分组查询的语句顺序:

select  
...
from
...
where 
...
group by
...
having
...
order by
...

having是分组数据进行过滤,可以使用分组j聚合函数。where是对查询数据进行过滤,不能使用分组聚合函数。

相关文章

  • 02-MySQL(下)

    一、数据库操作 3.DQL 3.7分组查询 group by:分组查询 将字段中相同值归为一组having:...

  • sql 查询语句的基本使用

    group by 分组查询

  • 2019-11-23_单表查询_分组

    说到分组查询,当然想到的是group by,根据字面group就明白是分组的意思,group by后面加分组条件,...

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

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

  • SQL分组查询

    一.分组查询 1.使用group by进行分组查询 在使用group by关键字时,在select列表中可以指定的...

  • 数据库高级查询2

    分组查询(group by) 分组查询: 1.查询每个部门的最高工资 select deptno,max(sal)...

  • mysql-查询2

    分组查询 group by group by 属性名 [having 条件表达式][ with rollup] “...

  • mysql分组查询

    进阶5:分组查询 /*语法: select 查询列表from 表【where 筛选条件】group by 分组的字...

  • 24《MySQL 教程》 GROUP BY分组

    本小节介绍如何对查询结果使用 GROUP BY 分组,GROUP BY 分组是对指定一个或多个字段分组,使用分组可...

  • SQL-分组查询

    分组查询 语法: 注意:查询列表必须特殊,要求是分组函数和group by后出现的字段 特点: 分组查询中的筛选条...

网友评论

      本文标题:数据库分组查询(Group by)

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