熟悉SQL的CRUD后,是时候来提高SQL能力了。
本文重点是学习如何对多行数据进行汇总操作,以及如何对汇总结果进行升序、降序等。
文章目录
1. 对表进行聚合查询
学习重点
- 使用聚合函数对表中的列进行计算合计或者平均值等的汇总操作。
通常,聚合函数会对NULL
以外的对象进行汇总,但是只有COUNT
函数例外,使用COUNT(*)
可以查出包含NULL
在内的全部数据的行数。
使用DISTINCT
关键字删除重复值。
1.1 聚合函数
- 聚合函数 用于汇总的函数。
所谓聚合,就是讲多行汇总为一行,实际上,所有的聚合函数都是这样的,输入多行输出一行。
- SQL中常用的五个聚合函数
聚合函数 | 作用 |
---|---|
COUNT() |
计算表中的记录行 |
SUM() |
计算表中数值列中数据的和机制 |
AVG() |
计算表中数值列中数据的平均值 |
MAX() |
求出表中任意列中数据的最大值 |
MIN() |
求出表中任意列中数据的最小值 |
MAX()
/MIN()
函数几乎适用于所有数据类型的列,SUM()
/AVG()
只适用于数值类型的列。
注意,所有的聚合函数,如果以列名为参数,那么在执行计算之前,就会把
NULL
值排除在外,而并不是把NULL
当做0
来计算。
1.2 特殊的COUNT()
函数
COUNT()
函数的特殊之处在于可以传入*
计算所有行,包括值为NULL
的行。
如果是COUNT(<列名>)
只会计算除了NULL
之外的行
假设有如下product
表:
SELECT COUNT(*