postgresql 實現(xiàn)將數(shù)組變?yōu)樾?/h1>
更新時間:2021年01月28日 09:28:16 作者:NorthWood
這篇文章主要介紹了postgresql 實現(xiàn)將數(shù)組變?yōu)樾械牟僮?,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
有的時候需要把數(shù)組元素同表中的字段進(jìn)行關(guān)系運(yùn)算,首先得把a(bǔ)rray變?yōu)橛涗浶?/p>
SELECT "unnest"(array[1,2,3])
結(jié)果:
unnest
求數(shù)組交集:
SELECT "unnest"(array[1,2,3]) INTERSECT SELECT "unnest"(array[3,4,5])
結(jié)果:
unnest
3
補(bǔ)充:PostgreSQL單列多行變一行&一行變多行
工作中經(jīng)常遇到這樣一個場景,希望將某個字?jǐn)嗖樵兂龅媒Y(jié)果組合成為一個字符串,用逗號分割(或者分號),通過PG中的函數(shù)該如何實現(xiàn)?
多行變一行
實例表:

想要的結(jié)果:

方法一:string_agg(字段名,分隔符)
select id,string_agg(name,',') AS NAME_NEW from test
group by 1
ORDER BY 1
方法二:array_agg(字段名)
select id,array_agg(name)
AS NAME_NEW from test
group by 1
ORDER BY 1;
select id,array_to_string(array_agg(name),',')
AS NAME_NEW from test
group by 1
ORDER BY 1;
另外:array_agg(distinct(字段名)) 拼接唯一的字段。
一行變多行
select id,regexp_split_to_table(name_new,',')
AS NAME from test;
select id,unnest(string_to_array(name_new,','))
AS NAME from test;
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
-
postgreSQL查詢結(jié)果添加一個額外的自增序列操作
這篇文章主要介紹了postgreSQL查詢結(jié)果添加一個額外的自增序列操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 2021-02-02
-
postgresql 查詢集合結(jié)果用逗號分隔返回字符串處理的操作
這篇文章主要介紹了postgresql 查詢集合結(jié)果用逗號分隔返回字符串處理的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 2021-02-02
-
PostgreSQL數(shù)據(jù)庫中Sequence的使用方法詳解
在 PostgreSQL 數(shù)據(jù)庫中,Sequence 是一種特殊的表對象,主要用于生成按順序遞增或遞減的數(shù)字序列,通常用于需要唯一標(biāo)識符的場景,例如自增 ID,以下是如何在 PostgreSQL 中使用 Sequence 的詳細(xì)步驟,需要的朋友可以參考下 2024-11-11
-
PostgreSQL教程(六):函數(shù)和操作符詳解(2)
這篇文章主要介紹了PostgreSQL教程(六):函數(shù)和操作符詳解(2),本文講解了模式匹配、數(shù)據(jù)類型格式化函數(shù)、時間/日期函數(shù)和操作符等內(nèi)容,需要的朋友可以參考下 2015-05-05
-
PostgreSQL中ON?CONFLICT的使用及一些擴(kuò)展用法
Postgres?ON?CONFLICT是PostgreSQL數(shù)據(jù)庫中的一個功能,用于處理插入或更新數(shù)據(jù)時的沖突情況,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL中ON?CONFLICT的使用及一些擴(kuò)展用法的相關(guān)資料,需要的朋友可以參考下 2024-06-06
-
PostgreSQL中設(shè)置和管理數(shù)據(jù)庫索引的操作指南
索引是數(shù)據(jù)庫管理系統(tǒng)中的一個重要特性,能夠顯著提高查詢性能,PostgreSQL 作為一個強(qiáng)大的開源關(guān)系數(shù)據(jù)庫管理系統(tǒng),提供了多種類型的索引結(jié)構(gòu),以滿足不同的需求,本文將詳細(xì)介紹 PostgreSQL 中如何設(shè)置和管理索引,需要的朋友可以參考下 2025-06-06
-
安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案
PostgreSQL數(shù)據(jù)庫是一款高度可擴(kuò)展的開源數(shù)據(jù)庫系統(tǒng),支持復(fù)雜的查詢、事務(wù)完整性和多種數(shù)據(jù)類型由于各種業(yè)務(wù)需求,企業(yè)常常需要將數(shù)據(jù)在不同的云平臺或私有環(huán)境之間遷移,所以本文小編給大家介紹了安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案,需要的朋友可以參考下 2023-11-11
最新評論
有的時候需要把數(shù)組元素同表中的字段進(jìn)行關(guān)系運(yùn)算,首先得把a(bǔ)rray變?yōu)橛涗浶?/p>
SELECT "unnest"(array[1,2,3]) 結(jié)果: unnest
求數(shù)組交集:
SELECT "unnest"(array[1,2,3]) INTERSECT SELECT "unnest"(array[3,4,5]) 結(jié)果: unnest 3
補(bǔ)充:PostgreSQL單列多行變一行&一行變多行
工作中經(jīng)常遇到這樣一個場景,希望將某個字?jǐn)嗖樵兂龅媒Y(jié)果組合成為一個字符串,用逗號分割(或者分號),通過PG中的函數(shù)該如何實現(xiàn)?
多行變一行
實例表:

想要的結(jié)果:

方法一:string_agg(字段名,分隔符)
select id,string_agg(name,',') AS NAME_NEW from test group by 1 ORDER BY 1
方法二:array_agg(字段名)
select id,array_agg(name) AS NAME_NEW from test group by 1 ORDER BY 1; select id,array_to_string(array_agg(name),',') AS NAME_NEW from test group by 1 ORDER BY 1;
另外:array_agg(distinct(字段名)) 拼接唯一的字段。
一行變多行
select id,regexp_split_to_table(name_new,',') AS NAME from test; select id,unnest(string_to_array(name_new,',')) AS NAME from test;
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
postgreSQL查詢結(jié)果添加一個額外的自增序列操作
這篇文章主要介紹了postgreSQL查詢結(jié)果添加一個額外的自增序列操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
postgresql 查詢集合結(jié)果用逗號分隔返回字符串處理的操作
這篇文章主要介紹了postgresql 查詢集合結(jié)果用逗號分隔返回字符串處理的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
PostgreSQL數(shù)據(jù)庫中Sequence的使用方法詳解
在 PostgreSQL 數(shù)據(jù)庫中,Sequence 是一種特殊的表對象,主要用于生成按順序遞增或遞減的數(shù)字序列,通常用于需要唯一標(biāo)識符的場景,例如自增 ID,以下是如何在 PostgreSQL 中使用 Sequence 的詳細(xì)步驟,需要的朋友可以參考下2024-11-11
PostgreSQL教程(六):函數(shù)和操作符詳解(2)
這篇文章主要介紹了PostgreSQL教程(六):函數(shù)和操作符詳解(2),本文講解了模式匹配、數(shù)據(jù)類型格式化函數(shù)、時間/日期函數(shù)和操作符等內(nèi)容,需要的朋友可以參考下2015-05-05
PostgreSQL中ON?CONFLICT的使用及一些擴(kuò)展用法
Postgres?ON?CONFLICT是PostgreSQL數(shù)據(jù)庫中的一個功能,用于處理插入或更新數(shù)據(jù)時的沖突情況,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL中ON?CONFLICT的使用及一些擴(kuò)展用法的相關(guān)資料,需要的朋友可以參考下2024-06-06
PostgreSQL中設(shè)置和管理數(shù)據(jù)庫索引的操作指南
索引是數(shù)據(jù)庫管理系統(tǒng)中的一個重要特性,能夠顯著提高查詢性能,PostgreSQL 作為一個強(qiáng)大的開源關(guān)系數(shù)據(jù)庫管理系統(tǒng),提供了多種類型的索引結(jié)構(gòu),以滿足不同的需求,本文將詳細(xì)介紹 PostgreSQL 中如何設(shè)置和管理索引,需要的朋友可以參考下2025-06-06
安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案
PostgreSQL數(shù)據(jù)庫是一款高度可擴(kuò)展的開源數(shù)據(jù)庫系統(tǒng),支持復(fù)雜的查詢、事務(wù)完整性和多種數(shù)據(jù)類型由于各種業(yè)務(wù)需求,企業(yè)常常需要將數(shù)據(jù)在不同的云平臺或私有環(huán)境之間遷移,所以本文小編給大家介紹了安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案,需要的朋友可以參考下2023-11-11

