MySQL-13分组数据-必知必会

本章介绍如何分组数据,以便汇总表内容的子集。两个新的SELECT语句子句:GROUP BY子句和HAVING子句

  • 创建分组

在这里插入图片描述

  • GROUP BY子句可以包含任意数目的列,这使得能对分组进行嵌套,为数据分组提供更细致的控制

  • 如果在GROUP BY子句中嵌套了分组,数据将在最后的分组上进行汇总

  • GROUP BY子句列出的列必须是检索列/有效的,不能使用别名(把取别名的完整表达式替换过来)

  • NULL 也算一个分组,多个NULL将合并成一组

  • GROUP BY子句必须出现在WHERE之后,ORDER BY之前

  • 过滤分组

    ​ 如上所示的例子,将过滤COUNT(*) >= 2的那些分组,这里WHERE子句不起作用的原因是过滤是基于分组聚集而不是特定的行值。

    ​ 也就是说WHERE在分组之前进行过滤,HAVING在分组之后进行过滤

在这里插入图片描述

  • 分组和排序

    GROUP BY 和 ORDER BY是存在不同的,如下

在这里插入图片描述
在这里插入图片描述

  • SELECT子句顺序

    子句说明是否必要
    SELECT后跟要返回的列或表达式
    FROM后跟 从中检索数据的表仅在从表中选择数据时使用
    WHERE行级过滤
    GROUP BY分组说明仅在按组计算聚集时使用
    HAVING组级过滤
    ORDER BY输出的排序顺序
    LIMIT限制要检索的行数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值