聚合函数配合窗口函数使用
时间: 2024-02-21 12:28:49 浏览: 137
窗口函数集
聚合函数和窗口函数可以配合使用,用于对分组数据进行分析和统计。
例如,我们可以使用窗口函数来计算每个分组内的排名,然后再使用聚合函数来计算每个分组内排名为前三的数据的平均值。
具体操作步骤如下:
1. 使用窗口函数计算每个分组内的排名:
```
SELECT
*,
RANK() OVER (PARTITION BY group_id ORDER BY score DESC) AS rank
FROM
scores
```
2. 使用聚合函数计算每个分组内排名为前三的数据的平均值:
```
SELECT
group_id,
AVG(score) AS avg_top_3_scores
FROM
(
SELECT
*,
RANK() OVER (PARTITION BY group_id ORDER BY score DESC) AS rank
FROM
scores
) AS ranked_scores
WHERE
rank <= 3
GROUP BY
group_id
```
以上示例代码中,我们使用了窗口函数 RANK() 来计算每个分组内的排名,然后再使用了聚合函数 AVG() 来计算每个分组内排名为前三的数据的平均值。这样可以对数据进行更加细致的分析和统计。
阅读全文