【发布时间】:2023-02-04 03:40:22
【问题描述】:
我有一个表格,以下列格式聚合禁用/重新启用事件:
| Disabled Date | Enabled Date | Count |
|---|---|---|
| 01/01 | 01/01 | 5 |
| 01/01 | 02/01 | 2 |
| 03/01 | 05/01 | 1 |
| 04/01 | 05/01 | 5 |
并希望构建一个报告来汇总每天禁用和重新启用的数量:
| Date | Enables | Disables |
|---|---|---|
| 01/01 | 5 | 7 |
| 02/01 | 2 | 0 |
| 03/01 | 0 | 1 |
| 04/01 | 0 | 5 |
| 05/01 | 6 | 0 |
我能够构建以下查询,该查询适用于至少有一个禁用和一个启用的日子:
SELECT
disables.disable_date AS disable_date,
disables.disable_count disable_count,
enables.enable_count enable_count
FROM
(SELECT
disable_date,
sum(disable_count) disable_count
FROM table
GROUP BY 1) AS disables,
(SELECT
enable_date,
sum(disable_count) enable_count
FROM table
GROUP BY 1) AS enables
WHERE enables.enable_date = disables.disable_date;
有什么建议如何构建完整的输出吗?我不确定这是正确的策略,因此也可以考虑加入。
谢谢!
【问题讨论】:
标签: sql