MySQL 分组数据 GROUP BY的使用

﹏ヽ暗。殇╰゛Y 2022-01-26 16:19 337阅读 0赞

用来将返回进行分组

  • GROUP BY
    通俗的说就是对SELECT 出来的结果进行分组,不会出现相同的,相同的会进行合并

    SELECT vend FROM products GROUP BY vend

在这里插入图片描述

  • GROUP BY 与 COUNT(*)
    GROUP BY 与 COUNT(*)一起用来统计vend一样的共有多少条记录

    SELECT vend,COUNT(*) AS num_prods
    FROM products
    GROUP BY vend

在这里插入图片描述

  • HAVIHG
    HAVIHG与GROUP BY连用,HAVIHG与WHERE相似,区别就是WHERE过滤行,而HAVIHG过滤组
    过滤掉COUNT(*)小于2的分组

    SELECT vend,COUNT() AS num_prods
    FROM products
    GROUP BY vend
    HAVING COUNT(
    ) >=2

在这里插入图片描述
可以先进行where行过滤再进行分组,再进行组过滤

  1. SELECT vend,COUNT(*) AS num_prods
  2. FROM products
  3. where price >=5
  4. GROUP BY vend
  5. HAVING COUNT(*) >=2

在这里插入图片描述
分组和顺序,永远不要相信默认的顺序,不要忘记用order by
先对num_prods进行排序,再对vend排序

  1. SELECT vend,COUNT(*) AS num_prods
  2. FROM products
  3. GROUP BY vend
  4. HAVING COUNT(*) >=2
  5. ORDER BY num_prods,vend

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,337人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL GROUP BY分组查询

    在 MySQL SELECT 语句中,允许使用 GROUP BY 子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,实现对每个组而不是对整个结果集进行