汇总数据

1.聚集函数
PowerShell
聚集函数(aggregate function)
对某些行运行的函数,计算并返回一个值。

我们经常需要汇总数据而不用把它们实际检索出来,为此SQL提供了专门的函数。

使用这些函数,SQL查询可用于检索数据,以便分析和报表生成。

这种类型的检索例子有:

  • 确定表中行书;
  • 获得表中某些行的和;
  • 找出表列的最大值、最小值、平均值。

为方便这种类型的检索,SQL给出了5个聚集函数

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

AVG()通过对表种行数计数其列值之和,求得该列的平均值。

AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

SQL
SELECT AVG(prod_price) AS avg_price
FROM Products
"SELECT AVG(`年份`) 
AS 年份平均值
FROM blockbusters WHERE `年份` = 2018"
1.2COUNT()函数

COUNT()函数进行计数。

可利用COUNT()确定表中行的数目或符合特定条件的行的数目。

COUNT()函数有两种使用方式:

  • 使用COUNT(*)对表中行的数目进行计数,不管表列种包含的是空值(NULL)还是非空值。
  • 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
SQL
SELECT COUNT(*) AS num_cust
FROM Customers
"SELECT COUNT(*) AS num_table
 FROM blockbusters"
"SELECT COUNT(`主流派`) AS num_table
 FROM blockbusters"
1.3MAX()函数

MAX()返回指定列中的最大值。

MAX()要求指定列名

SQL
SELECT MAX(prod_price) AS max_price
FROM products
"SELECT MAX(`票房`) AS num_table
 FROM blockbusters"
1.4 MIN()函数

MIN()的功能正好与MAX()功能相反,它返回指定列的最小值。

与MAX()一样,MIN()要求指定列名。

SQL
SELECT MIN(prod_price) AS min_price
FROM Products
"SELECT MIN(`年份`) AS num_table
 FROM blockbusters"
1.5SUM()函数

SUM()用来返回指定列值的和(总计)。

SQL
SELECT SUM(quantity) AS items_ordered
FROM OrderItems
WHERE order_num = 20005;
"SELECT SUM(`年份`) AS 1975_票房 
FROM blockbusters
 WHERE `主流派` = 'Action'"
2.聚集不同值

聚集函数都可以如下使用。

  • 对所有行执行计算,指定ALL参数或不指定参数。
  • 只包含不同的值,指定DISTINCT参数。
SQL
SELECT AVG(DISTINCT prod_price) AS avg_price
FROM products
WHERE vend_id = 'DLL01';
"SELECT AVG(DISTINCT`年份`) AS 1975_票房
 FROM blockbusters
 WHERE `主流派` = 'Action'"
3.组合聚集函数
SQL
SELECT COUNT(*) AS num_items,
MIN(prod_price) AS price_min,
MAX(prod_price) AS price_max,
AVG(prod_price) AS price_avg
FROM Products
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部