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

  • 相关阅读:
    只要三步,使用html5+js实现像素风头像生成器
    按Ctrl+Enter发送的实现
    “放到桌面”的Servlet实现
    从tom大叔那想着拿书的,呵呵。
    也写dateUtil.js
    智习室
    零基础爬虫课,不会编程也能做爬虫
    1小时教你学会如何采集微博数据:0基础小白也能轻松学会!
    TransactionScope 分布式事务配置
    centos7创建共享文件夹
  • 原文地址:https://www.cnblogs.com/GumpYan/p/6043677.html
Copyright © 2011-2022 走看看