[英]Pivoting Data in PostgresSQL
我有一張桌子
開始日期 | 序號 | 數數 | Emp_id |
---|---|---|---|
老的 | 0 | 1 | 1 |
2020-12-07 | 1 | 15 | 1 |
更多的 | 2 | 4 | 1 |
全部的 | 3 | 20 | 1 |
老的 | 0 | 15 | 2 |
2020-12-07 | 1 | 20 | 2 |
更多的 | 2 | 5 | 2 |
全部的 | 3 | 40 | 2 |
我需要 output 作為
Emp_id | 老的 | 2020-12-07 | 更多的 | 全部的 |
---|---|---|---|---|
1 | 1 | 15 | 4 | 20 |
2 | 15 | 20 | 5 | 40 |
有人可以給我一些想法或指出我如何實現所需的 output 的方向嗎?
對於固定的值列表,您可以使用條件聚合:
select emp_id
max(count) filter(where start_date = 'old' ) as val_old,
max(count) filter(where start_date = '2020-12-07') as val_2020_12_07,
max(count) filter(where start_date = 'More' ) as val_more,
max(count) filter(where start_date = 'Total' ) as val_total
from mytable
group by emp_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.