Postgresql的高级聚合函数使用实例(超详细)
-- 创建一个示例表
CREATE TABLE sales (
id SERIAL PRIMARY KEY,
amount DECIMAL(10,2),
year INT
);
-- 插入示例数据
INSERT INTO sales (amount, year) VALUES (100.00, 2020);
INSERT INTO sales (amount, year) VALUES (150.00, 2020);
INSERT INTO sales (amount, year) VALUES (200.00, 2021);
INSERT INTO sales (amount, year) VALUES (250.00, 2021);
-- 使用聚合函数计算每年的总销售额
SELECT year, SUM(amount) AS total_sales
FROM sales
GROUP BY year;
-- 使用聚合函数和窗口函数计算每笔销售额所在年份的累计总销售额
SELECT id, amount, year, SUM(amount) OVER (PARTITION BY year ORDER BY id) AS cumulative_sales
FROM sales;
-- 使用聚合函数和窗口函数计算每笔销售额所在年份的运行总销售额
SELECT id, amount, year, SUM(amount) OVER (PARTITION BY year ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_total
FROM sales;
这个示例代码首先创建了一个名为sales
的表,然后插入了一些示例数据。接着,它展示了如何使用SUM
函数来计算每年的总销售额,以及如何使用窗口函数SUM
来计算每笔销售额所在年份的累计总销售额和运行总销售额。这些操作都是使用PostgreSQL进行数据分析时的常见需求。
评论已关闭