Partition By 是 SQL 中一种用于分组和排序数据的语法。它可以将数据集分成多个分区(也称为窗口),并对每个分区进行聚合、排序或其他操作。在分区内,每个分区都有自己的行号和排序顺序,而不会影响整个数据集的排序。

具体用法如下:

  1. 分组聚合

使用 Partition By 可以对每个分组内的数据进行聚合计算。例如,计算每个地区的销售总额:

SELECT region, SUM(sales) OVER (PARTITION BY region) AS total_sales
FROM sales_data
  1. 排序

使用 Partition By 可以对每个分区内的数据进行排序。例如,对每个地区的销售额按照时间排序:

SELECT region, sales, date,
       ROW_NUMBER() OVER (PARTITION BY region ORDER BY date) AS row_num
FROM sales_data
  1. 分页

使用 Partition By 可以对每个分区内进行分页操作。例如,获取每个地区的前 5 名销售员:

SELECT region, sales_rep, sales,
       ROW_NUMBER() OVER (PARTITION BY region ORDER BY sales DESC) AS rank
FROM sales_data
WHERE rank <= 5

总的来说,Partition By 是一种非常强大的 SQL 语法,可以实现对数据的细粒度控制和操作。它在处理大数据集时尤其有用,可以提高查询性能和准确性。

SQL 中 Partition By 语法详解:分组、排序、分页应用

原文地址: https://www.cveoy.top/t/topic/nwUD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录