师父让我统计:大竹峰一共有多少人?谁的修为最高?大家的平均修为是多少?我头都大了!
这便是聚合函数的用武之地。它们能将万千数据汇聚成一个结果。
COUNT() - 点名术计算行数。
-- 点名:计算所有弟子(包括没名字的)
SELECT COUNT(*) FROM Disciples;
-- 查册:计算有法宝的弟子(忽略 NULL)
SELECT COUNT(Weapon_ID) FROM Disciples;
SUM() - 聚财术计算数值列的总和(所有人的银两加起来)。
SELECT SUM(Money) FROM Disciples;
AVG() - 平均术计算数值列的平均值(平均修为了)。
SELECT AVG(Level) FROM Disciples;
MAX() - 登顶术找出最大值(谁最强)。
SELECT MAX(Level) FROM Disciples;
MIN() - 探底术找出最小值(谁最弱)。
SELECT MIN(Level) FROM Disciples;
有些古老的功法(如 MS Access)有 FIRST() 和 LAST(),但在通用的修仙界(MySQL, SQL Server, Oracle),我们通常配合 ORDER BY 和 LIMIT/TOP 来实现。
-- 找出第一个(MySQL)
SELECT Name FROM Disciples ORDER BY ID ASC LIMIT 1;