中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL行轉列的方法

發布時間:2020-07-17 10:35:43 來源:億速云 閱讀:958 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關PostgreSQL行轉列的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

PostgreSQL如何行轉列

方法一:group by + sum + case when

select name,
sum(case when zbfm='年齡' then value else 0 end) as 年齡,
sum(case when zbfm='身高' then value else 0 end) as 身高,
sum(case when zbfm='體重' then value else 0 end) as 體重
from test group by name
having name like '%1' and length(name)=4 order by 年齡 desc

PostgreSQL行轉列的方法

PostgreSQL行轉列的方法

方法二:用postgresql的crosstab交叉函數

推薦:postgresql教程

crosstab(unknown, unknown) does not exist
select * from
crosstab(
'select name,zbfm,value from test where name like ''%1'' and length(name)=4',$$values('年齡'), ('身高'), ('體重')$$)
as score(name text, 年齡 int, 身高 int, 體重 int)
order by 年齡 desc

PostgreSQL行轉列的方法

PostgreSQL行轉列的方法

方法三:group by + string_agg + split_part(分組,行轉列,字符切割)

select name, 
split_part(split_part(temp,',',1),':',2) as 年齡,
split_part(split_part(temp,',',2),':',2) as 身高,
split_part(split_part(temp,',',3),':',2) as 體重
from(
select name, string_agg(zbfm||':'||value,',') as temp from test
group by name 
having name like '%1' and length(name)=4
) as t order by 年齡 desc

PostgreSQL行轉列的方法

PostgreSQL行轉列的方法

group by + string_agg

select name, string_agg(zbfm||':'||value,',') from test
group by name 
having name like '%1' and length(name)=4

PostgreSQL行轉列的方法

關于PostgreSQL行轉列的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麻江县| 阜康市| 红桥区| 临城县| 天祝| 深水埗区| 科技| 神农架林区| 上虞市| 沙湾县| 古交市| 新兴县| 镇远县| 凤山县| 拜城县| 锡林浩特市| 民县| 永定县| 陈巴尔虎旗| 连江县| 调兵山市| 邯郸县| 班戈县| 邛崃市| 明溪县| 巴彦淖尔市| 花莲市| 东明县| 鄂尔多斯市| 灵台县| 锦州市| 罗江县| 芷江| 文登市| 石河子市| 苏州市| 辰溪县| 道孚县| 西乌| 崇礼县| 鄂托克前旗|