![](/img/trans.png)
[英]How to pivot the table (BigQuery) in this case without listing all categories manually?
[英]How to PIVOT table in BigQuery without "IN" argument
所以我有一個看起來像這樣的表:
列表 | 價值 | 日期 |
---|---|---|
汽車 | 10000 | 2023-01-28 |
卡車 | 20000 | 2022-12-25 |
貨車 | 55 | 2023-01-05 |
拖車 | 560 | 2023-11-11 |
但我想要 pivot 它所以列表值成為列並且值成為當前值列,如下所示:
日期 | 汽車 | 卡車 | 貨車 | 拖車 |
---|---|---|---|---|
2023-01-28 | 10000 | 北美 | 北美 | 北美 |
2022-12-25 | 北美 | 20000 | 北美 | 北美 |
2023-01-05 | 北美 | 北美 | 55 | 北美 |
2023-11-11 | 北美 | 北美 | 北美 | 560 |
最好的方法是什么? 我試過這個:
SELECT * FROM
(select * from `table`)
pivot(sum(list) for list in list)
但這沒有用。 想法?
嘗試使用CASE
表達式:
SELECT date,
MAX(CASE WHEN list = 'cars' THEN value END) AS cars,
MAX(CASE WHEN list = 'trucks' THEN value END) AS trucks,
MAX(CASE WHEN list = 'vans' THEN value END) AS vans
FROM <your_table>
GROUP BY date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.