postgresql 将 2 个不同日期的查询合并为 1 个 table
postgresql merge 2 queries with different dates into 1 table
所以我是 postgres 的新手,想将两个查询合并为一个。这是我的 table:
查询:
SELECT area, SUM(volume) as "4/18/22 Volume"
FROM test
WHERE report_date = '2022-04-18'
GROUP BY area;
SELECT area, SUM(volume) as "4/25/22 Volume"
FROM test
WHERE report_date = '2022-04-25'
GROUP BY area;
哪个给我这个:
现在我希望 2 个音量列彼此相邻,例如:
area | 4/18/22 volume | 4/25/22 volume
---------------------------------------
area1| 331 | 265
area2| 520 | 248
我该如何完成?
您可以在 SUM 中使用 CASE。
SELECT
area,
SUM(case when report_date = '2022-04-18' then volume else 0 end ) as "4/18/22 Volume",
SUM(case when report_date = '2022-04-25' then volume else 0 end ) as "4/25/22 Volume"
FROM test
WHERE report_date = '2022-04-18'
OR report_date = '2022-04-25'
GROUP BY area;
所以我是 postgres 的新手,想将两个查询合并为一个。这是我的 table:
查询:
SELECT area, SUM(volume) as "4/18/22 Volume"
FROM test
WHERE report_date = '2022-04-18'
GROUP BY area;
SELECT area, SUM(volume) as "4/25/22 Volume"
FROM test
WHERE report_date = '2022-04-25'
GROUP BY area;
哪个给我这个:
现在我希望 2 个音量列彼此相邻,例如:
area | 4/18/22 volume | 4/25/22 volume
---------------------------------------
area1| 331 | 265
area2| 520 | 248
我该如何完成?
您可以在 SUM 中使用 CASE。
SELECT
area,
SUM(case when report_date = '2022-04-18' then volume else 0 end ) as "4/18/22 Volume",
SUM(case when report_date = '2022-04-25' then volume else 0 end ) as "4/25/22 Volume"
FROM test
WHERE report_date = '2022-04-18'
OR report_date = '2022-04-25'
GROUP BY area;