zoukankan      html  css  js  c++  java
  • MySQL基础6-分组查询

    1.分组函数

     

    需求20:查询所有商品平均零售价
    SELECT AVG(salePrice) FROM product

    需求21:查询商品总记录数
    SELECT COUNT(id) count FROM product

    需求22:查询分类为2的商品总数
    SELECT COUNT(id) count FROM product WHERE dir_id=2;

    需求23:查询商品的最小零售价,最高零售价,以及所有商品零售价总和
    SELECT MIN(salePrice) 最小零售价,MAX(salePrice) 最高零售价,SUM(salePrice)零售价总和
    FROM product

     

    2.分组查询

     

     栗子1:查询每个商品的分类编号和每个商品分类各自的平均零售价

    SELECT dir_id,AVG(salePrice)
    FROM product
    GROUP BY dir_id;

    栗子2:查询每个商品分类编号和每个商品分类各自的商品总数

    SELECT dir_id,COUNT(id) FROM product GROUP BY dir_id;

    栗子3:查询每个商品分类编号和每个商品分类中零售价大于100的商品总数

    SELECT dir_id,COUNT(id) FROM product WHERE salePrice >100 GROUP BY dir_id;

    3.HAVING子句(对分组之后的结果做过滤)

    HAVING子句通常和GROUP BY子句一起使用,用来限制搜索条件。HAVING子句与组有关,不与单个值有关,它会作用于GROUP BY创建的组。

    HAVING子句是可选的,不能单独使用,只能配合GROUP BY子句使用,作用是对GROUP BY子句设置条件,对统计后的结果进行限制。

    栗子4:查询每个商品分类编号和每个商品分类中零售价大于100的商品总数,商品总数大于5的分类

    SELECT dir_id,COUNT(id)
    FROM product
    WHERE salePrice >100
    GROUP BY dir_id
    HAVING COUNT(id)>5;

     

    栗子5:查询零售价大于100的商品零售价总和大于1500的商品分类编号以及总零售价和

    SELECT dir_id,SUM(salePrice) sum
    FROM product
    WHERE salePrice>100
    GROUP BY dir_id
    HAVING sum>1500

  • 相关阅读:
    出现错误:代理服务器拒绝连接的解决方法
    ansible之模块 条件判断
    软件相关模块与ansible剧本
    ansible的应用
    Celery -----异步任务,定时任务,周期任务
    SQLAlchemy增删改查 一对多 多对多
    python是如何进行内存管理的?
    Django的模板层(1)
    1.Git安装
    6.case
  • 原文地址:https://www.cnblogs.com/GumpYan/p/6043677.html
Copyright © 2011-2022 走看看