Files
greptimedb/tests/cases/standalone/common/window/window_aggregates.sql
LFC e64c31e59a chore: upgrade DataFusion family (#7558)
* chore: upgrade DataFusion family

Signed-off-by: luofucong <luofc@foxmail.com>

* use main proto

Signed-off-by: luofucong <luofc@foxmail.com>

* fix ci

Signed-off-by: luofucong <luofc@foxmail.com>

---------

Signed-off-by: luofucong <luofc@foxmail.com>
2026-01-14 14:02:31 +00:00

33 lines
1.2 KiB
SQL

-- Migrated from DuckDB test: Multiple window aggregate tests
-- Tests window aggregate functions
CREATE TABLE sales("region" VARCHAR, "quarter" INTEGER, amount INTEGER, ts TIMESTAMP TIME INDEX);
INSERT INTO sales VALUES
('North', 1, 1000, 1000), ('North', 2, 1200, 2000), ('North', 3, 1100, 3000),
('South', 1, 800, 4000), ('South', 2, 900, 5000), ('South', 3, 950, 6000);
-- Running totals with SUM window function
SELECT region, "quarter", amount,
SUM(amount) OVER (PARTITION BY region ORDER BY "quarter") as running_total
FROM sales ORDER BY region, "quarter";
-- Moving averages with AVG window function
SELECT region, "quarter", amount,
AVG(amount) OVER (PARTITION BY region ORDER BY "quarter" ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) as moving_avg
FROM sales ORDER BY region, "quarter";
-- MIN/MAX window functions
SELECT region, "quarter", amount,
MIN(amount) OVER (PARTITION BY region) as min_amount,
MAX(amount) OVER (PARTITION BY region) as max_amount
FROM sales ORDER BY region, "quarter";
-- COUNT window function
SELECT region, "quarter",
COUNT(*) OVER (PARTITION BY region) as region_count,
COUNT(*) OVER () as total_count
FROM sales ORDER BY region, "quarter";
DROP TABLE sales;