我正在使用 postgres DB,我有兩列name
和sal
.
name Sal
Raunak 10000
Raunak 5000
Rahul 500
Raunak 300
而且我要
Raunak 10000,5000,300
Rahul 500
我正在使用 JPA 有什么方法可以獲取 JPA 資料
uj5u.com熱心網友回復:
您可以使用 string_agg 函式來構建一個逗號分隔的值串列:
select name, string_agg(sal::text, ',')
from t
group by name
json_agg
如果您的應用程式可以使用 json 資料,您可能需要考慮而不是 csv。
uj5u.com熱心網友回復:
如果要保留sal
列的資料型別,可以使用array_agg()
回傳值陣列。不確定JPA是否會讓您正確訪問它
select name, array_agg(sal) as sals
from the_table
group by name;
uj5u.com熱心網友回復:
如果我正確理解您的問題,您希望通過以下 SQL 陳述句獲得結果:
SELECT
name,
string_agg (sal::varchar(22), ', ') as sals
FROM
test
GROUP BY
name;
由于是postgresql相關的SQL,我們不能或者很難通過普通物件查詢來表達。您可以在 JPA 代碼中通過本機查詢模式構造上述 SQL。
@Query(value = "<the above query>", nativeQuery = true)
List<Object[]> query();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/475598.html
標籤:爪哇 sql 春天 PostgreSQL 弹簧靴
下一篇:返回列表