汇总数据

AI 助力的 SQL 查询进阶

Jasmin Ludolf

Senior Data Science Content Developer

聚合函数

$$

  • SUM()
  • AVG()
  • MIN()
  • MAX()

$$

  • 每部电影的平均投票数是多少?

含汇总统计的报告

AI 助力的 SQL 查询进阶

汇总字段

$$

  • 聚合函数将多行汇总为单个值

$$

  • 便于按整体或分组理解数据

提示: 显示所有电影的投票总数

SELECT SUM(num_votes) AS total_votes
FROM reviews;
|total_votes|
|-----------|
|419507814  |
AI 助力的 SQL 查询进阶

计算字段平均值

提示: 每部电影的平均投票数是多少?

SELECT AVG(num_votes) AS average_votes_per_film
FROM reviews;
|average_votes_per_film|
|----------------------|
|84441.991545893720    |
AI 助力的 SQL 查询进阶

四舍五入结果

提示: 每部电影的平均投票数(四舍五入)是多少?

SELECT ROUND(AVG(num_votes)) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84442    |
ROUND(AVG(num_votes), 1)
84442.0
ROUND(AVG(num_votes), 2)
84441.99
ROUND(AVG(num_votes), -2)
84400
AI 助力的 SQL 查询进阶

四舍五入结果

提示: …保留一位小数

SELECT ROUND(AVG(num_votes), 1) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84442.0  |

提示: …四舍五入到百位

SELECT ROUND(AVG(num_votes), -2) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84400    |
AI 助力的 SQL 查询进阶

分组平均值

提示: 按语言显示四舍五入后的平均预算,按预算从高到低排序

SELECT language, ROUND(AVG(budget)) AS average_budget
FROM films
GROUP BY language
ORDER BY average_budget DESC;
|language |average_budget|
|---------|--------------|
|Greek    |              |
|Kannada  |              |    
|Polish   |              |
|Korean   |2741550000    |
...
AI 助力的 SQL 查询进阶

最小值与最大值

提示: 按字母顺序显示各国最低与最高预算

SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
FROM films
GROUP BY country
ORDER BY country;
|country    |lowest_budget|highest_budget|
|-----------|-------------|--------------|
|Afghanistan|46000        |46000         |
|Argentina  |800000       |2000000       |
|Aruba      |35000000     |35000000      |
...

$$

$$

  • 识别取值范围
  • 理解数据范围
  • 理解典型值
AI 助力的 SQL 查询进阶

聚合函数与数据类型

仅数值字段

  • SUM()
  • AVG()

多种数据类型

  • MIN()
  • MAX()
  • COUNT()

$$

最小 <-> 最大

  • 最低 <-> 最高
  • A <-> Z
  • 最早 <-> 最新
AI 助力的 SQL 查询进阶

最小值与最大值

SELECT MIN(language) AS min_language
FROM films;
|min_language|
|------------|
|Aboriginal  |
SELECT MAX(language) AS max_language
FROM films;
|max_language|
|------------|
|Zulu        |
AI 助力的 SQL 查询进阶

SQL 最佳实践:别名

SELECT SUM(budget) AS total_budget
...
SELECT AVG(budget) AS average_budget
...
SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
...
SELECT AVG(num_user), AVG(num_critic)
FROM reviews;
|avg     |avg     |
|275.6...|141.9...|
AI 助力的 SQL 查询进阶

SQL 最佳实践:格式化

 

  • 多行书写查询
  • 使用缩进
SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
FROM films
GROUP BY country
ORDER BY country;

纸上眼镜

SQL 图标

AI 助力的 SQL 查询进阶

准备好分析了吗?

AI 助力的 SQL 查询进阶

Preparing Video For Download...