我有结构的postgres表:
|key| position | date | |---|----------|------------| | 1 | 5 | 2017-07-01 | |---|----------|------------| | 1 | 9 | 2017-07-02 | |---|----------|------------| | 2 | 4 | 2017-07-01 | |---|----------|------------| | 2 | 8 | 2017-07-02 |
但我需要以这样的格式获取所选数据:
| key | 2017-07-01 | 2017-07-02 | |-----|------------|------------| | 1 | 5 | 9 | |-----|------------|------------| | 2 | 4 | 8 |
我该怎么办?
答案 0 :(得分:1)
如果每个键和每个日期有一行,则一种方式是条件聚合
select
key,
min(case when date = '2017-07-01' then position end) as "2017-07-01",
min(case when date = '2017-07-02' then position end) as "2017-07-02"
from t
group by key