跨年周同比SQL语句查询
时间: 2024-11-28 17:21:15 浏览: 4
跨年周同比的SQL查询通常用于比较两个连续的跨年度周期内数据的变化情况。例如,如果你想对比2021年的第52周(12月26日至1月1日)和2022年的第1周(1月2日至1月8日)的数据,你可以编写这样的查询:
```sql
WITH weekly_data AS (
SELECT
DATE_TRUNC('week', your_date_column) AS week_start,
SUM(your_quantity_column) AS total_quantity,
YEAR(WEEK_START) as year
FROM
your_table_name
WHERE
DATE_TRUNC('week', your_date_column) BETWEEN '2021-12-26' AND '2022-01-08'
GROUP BY
week_start, year
)
SELECT
(t2.total_quantity - t1.total_quantity) / t1.total_quantity * 100 AS percentage_change,
t2.week_start, t2.year
FROM
weekly_data t2
JOIN
(SELECT * FROM weekly_data WHERE year = 2021) t1 ON t1.week_start = t2.week_start
ORDER BY
t2.year, t2.week_start;
```
在这个例子中,`your_date_column` 和 `your_quantity_column` 需替换为实际的日期和数值字段名。这个查询首先计算了每个指定时间段内的总数量,然后计算同比增长百分比。
阅读全文