postgres中分組后拼接多行


現在有這樣一個需求,表內容如:
這里寫圖片描述
,根據calss_type分組后,然后將name進行拼接返回,即:
這里寫圖片描述
mysql可以很方便的利用group_concat函數來實現,但是postgres9.0版本之前沒有這樣的函數,需要進行自定義函數,(參考博客)。
9.0版本后的postgres數據庫,新增了許多函數:
這里寫圖片描述我們可以用array_agg(),string_agg()等函數來實現。注意string_agg()方法參數都必須為字符串。

select class_type,
string_agg(name,'-') as names
from user_account
group by class_type
或者
select class_type,
array_to_string(array_agg(name),'-') as names
from user_account
group by class_type



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM