假设有一个销售数据表格(sales),包含以下字段:产品 ID、类别、销售额。现在需要按类别计算每个产品的销售额占总类别销售额的百分比。可以通过以下 SQL 语句实现:
SELECT
product_id,
category,
sales,
ROUND(100 * sales / SUM(sales) OVER(PARTITION BY category), 2) AS pct_total
FROM
sales;
其中,SUM 函数的 OVER 子句与 PARTITION BY 子句一起使用,按类别对销售额进行分组求和。然后使用 ROUND 函数将结果四舍五入为两位小数,得到每个产品的销售额百分比。最终得到的结果包括产品 ID、类别、销售额和百分比四列。
上一篇:按类别计算数组子总计