我已有一張表有如下欄位:
id,a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,c4 (實際專案超過幾十個欄位,并且以ID 為主鍵的N條記錄)
想用 sql 或 pgplsql 轉為如下結構資料:
id, a1,b1,c1
id, a2,b2,c2
id, a3,b3,c3
id, a4,b4,c4
請高手指教,謝謝!
uj5u.com熱心網友回復:
array_agg() 函式 輸出 陣列,是你需要的嗎?uj5u.com熱心網友回復:
首先思考自己要什么,這個明顯是需要把一行資料轉換成N行,所以一定是用
select id, a1,b1,c1 from xx
union all
select id, a2,b2,c2 from xx
...
或者使用行列轉化。tablefunc 擴展了解下。不過對普通程式員明顯第一種方案更快捷
uj5u.com熱心網友回復:
可以使用tablefunc模塊的crosstab函式實作,參考:https://www.postgresql.org/docs/12/tablefunc.html轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/16717.html
標籤:PostgreSQL
上一篇:Postgres 資料庫中篩選身份證號相同但是姓名確不同的臟資料,如何篩選?
下一篇:請求優化下sql
