MySql学习笔记(四) - 汇总数据

函数 说明
          AVG()           返回某列的平均值
COUNT() 返回某列的行数
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列之和
现有表:

1. AVG()

求价格平均值

求特定行的平均值


2. COUNT()

求总记录数


3. MAX()

求价格最高


4. MIN()

求价格最低


5. SUM()

求总数量


6. 组合聚集函数


7. 数据分组

    创建分组:


    过滤分组:

        过滤分组不能使用 WHERE,而应该使用 HAVING 子句。HAVING非常类似与 WHERE。它俩的差别就是 WHERE过滤行,而HAVING过滤分组


    WHERE和HAVING同时使用:




8. 分组和排序

虽然GROUP BY 和 ORDER BY经常能完成相同的工作,但它们是非常不同的。

ORDER BY GROUP BY
排序产生输出 分组行。单输出可能不是分组的顺序
任意列都可以使用(甚至非选择的列也可以使用) 只可能使用选择列或表达式列,而且必须使用每个选择列表达式
不一定需要 如果与聚集函数一起使用列(或表达式),则必须使用

一般在使用GROUP BY子句的时候,应该也给出ORDER BY子句。这是保证数据正确排序的唯一方法。

检索按birthday分组的价格大于100的总数


按照总数大小降序


9. SELECT子句顺序

    下表在SELECT语句中使用时必须遵循的次序,迄今位置学过的子句

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


猜你喜欢

转载自blog.csdn.net/u010960184/article/details/80568223