温馨提示×

sql中partition by的用法是什么

sql
小亿
517
2024-01-24 21:05:38
栏目: 云计算

在SQL中,PARTITION BY是一种用于分组数据的子句。它通常与窗口函数一起使用,用于对每个分组应用函数,并根据指定的列对数据进行分区。

语法如下:

SELECT column1, column2, ..., function(column)
  OVER (PARTITION BY partition_column)
  FROM table_name;

在上述语法中,PARTITION BY后面的partition_column指定了用于分组数据的列。每个分组都会有自己的计算结果。

例如,假设我们有一个包含销售数据的表sales,其中包含列:salesperson、product和quantity。我们想要计算每个销售人员的产品销售总量。可以使用PARTITION BY将数据按销售人员分组,并对每个分组应用SUM函数来计算销售总量。

示例查询:

SELECT salesperson, product, quantity,
       SUM(quantity) OVER (PARTITION BY salesperson) as total_sales
  FROM sales;

以上查询将返回每个销售人员的每个产品的销售数量,并在每个分组中计算出总销售量。

0