最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

postgresql 實(shí)現(xiàn)sql多行語句合并一行

 更新時間:2020年12月28日 15:04:50   投稿:jingxian  
這篇文章主要介紹了postgresql 實(shí)現(xiàn)sql多行語句合并一行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

多行語句合并一行

三個表關(guān)聯(lián)查詢的結(jié)果集為:

SELECT users.name,users.age,users.birthday,roles.name FROM users,users_roles,roles WHERE users_roles.userid = users.id and users_roles.roleid = roles.id

name age birthday role
張三 23 1993-1-1 role1
張三 23 1993-1-1 role2
張三 23 1993-1-1 role3

以下語句執(zhí)行后

SELECT users.name,users.age,users.birthday, array_to_string(ARRAY(SELECT unnest(array_agg(roles.name)) ),',') as roles FROM users,users_roles,roles WHERE users_roles.userid = users.id and users_roles.roleid = roles.id group by users.name,users.age,users.birthday

結(jié)果為:

name age birthday roles

張三 23 1993-1-1 role1,role2,role3

補(bǔ)充:PostgreSQL合并查詢同一列的多條記錄

昨天遇到一個sql問題,需要將一個表中的某一列的多行數(shù)據(jù)拼接成一行

例如:表中有2列數(shù)據(jù):

列1     列2

AAA     企業(yè)1

AAA     企業(yè)2

AAA     企業(yè)3

BBB     企業(yè)4

BBB     企業(yè)5

我想把這個表變成如下格式:

列1       列2

AAA       企業(yè)1,企業(yè)2,企業(yè)3

BBB       企業(yè)4,企業(yè)5

類似sqlServer中的stuff函數(shù)在PostgreSQL中如何實(shí)現(xiàn)呢?

查了一些資料,找到2種比較簡單方便的方法,總結(jié)一下。

方法一:

SELECT
 列1, string_agg(列2,',') AS 別名
FROM
 表名
GROUP BY 列1 ;

方法二(推薦使用):

SELECT 
  列1, array_to_string(ARRAY(SELECT unnest(array_agg(列2))),',') AS 別名
FROM 
  表名
GROUP BY 列1;

如果需要排序后再拼接:

SELECT 
  列1, array_to_string(ARRAY(SELECT unnest(array_agg(列2 order by 列2 desc))),',') AS 別名
FROM 
  表名
GROUP BY 列1;

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫

    如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫

    這篇文章主要介紹了如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • pgsql之create user與create role的區(qū)別介紹

    pgsql之create user與create role的區(qū)別介紹

    這篇文章主要介紹了pgsql之create user與create role的區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL入門簡介

    PostgreSQL入門簡介

    PostgreSQL是一個免費(fèi)的對象-關(guān)系型數(shù)據(jù)庫服務(wù)器(ORDBMS),遵循靈活的開源協(xié)議BSD。這篇文章主要介紹了PostgreSQL入門簡介,需要的朋友可以參考下
    2020-12-12
  • PostgreSQL三種自增列sequence,serial,identity的用法區(qū)別

    PostgreSQL三種自增列sequence,serial,identity的用法區(qū)別

    這篇文章主要介紹了PostgreSQL三種自增列sequence,serial,identity的用法區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 淺談Postgresql默認(rèn)端口5432你所不知道的一點(diǎn)

    淺談Postgresql默認(rèn)端口5432你所不知道的一點(diǎn)

    這篇文章主要介紹了淺談Postgresql默認(rèn)端口5432你所不知道的一點(diǎn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL如何修改默認(rèn)端口號

    PostgreSQL如何修改默認(rèn)端口號

    文章主要內(nèi)容是關(guān)于在升級PostgreSQL過程中遇到的問題,以及解決這些問題的方法,升級過程中,由于端口號設(shè)置不正確,導(dǎo)致psql連接到舊版本的服務(wù)器,從而引發(fā)語法錯誤,解決方法是在連接數(shù)據(jù)庫時指定正確的端口號,或者修改默認(rèn)端口號
    2024-12-12
  • PostgreSQL進(jìn)行重置密碼的方法小結(jié)

    PostgreSQL進(jìn)行重置密碼的方法小結(jié)

    今天想測試一個PostgresSQL語法的 SQL,但是打開PostgresSQL之后沉默了,密碼是什么?日長月久的,漸漸就忘記了,于是開始了尋找密碼的道路,所以本文介紹了Postgresql忘記密碼,如何重置密碼,需要的朋友可以參考下
    2024-05-05
  • postgresql影子用戶實(shí)踐場景分析

    postgresql影子用戶實(shí)踐場景分析

    這篇文章主要介紹了postgresql影子用戶實(shí)踐場景分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 使用Postgresql 實(shí)現(xiàn)快速插入測試數(shù)據(jù)

    使用Postgresql 實(shí)現(xiàn)快速插入測試數(shù)據(jù)

    這篇文章主要介紹了使用Postgresql 實(shí)現(xiàn)快速插入測試數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL數(shù)據(jù)庫中修改表字段的常用命令小結(jié)

    PostgreSQL數(shù)據(jù)庫中修改表字段的常用命令小結(jié)

    這篇文章主要給大家介紹了PostgreSQL數(shù)據(jù)庫中修改表字段的常用命令操作,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2023-12-12

最新評論

买车| 仁布县| 四子王旗| 乌兰浩特市| 榆中县| 鄂温| 周至县| 洛川县| 余江县| 莱州市| 墨玉县| 乐平市| 黄骅市| 舟曲县| 广水市| 霍邱县| 揭阳市| 琼海市| 吉林市| 临潭县| 蒙自县| 丽江市| 乐山市| 韶山市| 延安市| 万安县| 石楼县| 墨脱县| 华容县| 兴化市| 鹤庆县| 莱芜市| 佳木斯市| 玉龙| 金坛市| 三亚市| 长宁县| 盖州市| 交口县| 建德市| 凌海市|