partition by和group by对比图
时间: 2023-11-12 07:30:18 浏览: 203
SQLServer中Partition By及row_number 函数使用详解
5星 · 资源好评率100%
这里提供一个示意图来说明PARTITION BY和GROUP BY之间的区别。
假设我们有以下数据:
| Country | Category | Sales |
|---------|----------|-------|
| USA | A | 100 |
| USA | A | 200 |
| USA | B | 300 |
| Canada | A | 400 |
| Canada | B | 500 |
使用GROUP BY可以得到以下结果:
| Country | Category | Total Sales |
|---------|----------|-------------|
| USA | A | 300 |
| USA | B | 300 |
| Canada | A | 400 |
| Canada | B | 500 |
GROUP BY将数据按照Country和Category分组,并计算每组的总销售额。
使用PARTITION BY可以得到以下结果:
| Country | Category | Sales | Total Sales by Category |
|---------|----------|-------|------------------------|
| USA | A | 100 | 300 |
| USA | A | 200 | 300 |
| USA | B | 300 | 300 |
| Canada | A | 400 | 400 |
| Canada | B | 500 | 500 |
PARTITION BY将数据按照Category分区,并计算每个分区的总销售额。在每个行上,可以看到该行所属分区的总销售额。
总的来说,GROUP BY是将数据分组并计算聚合结果,而PARTITION BY是将数据分区并在每个行上计算分区聚合结果。
阅读全文