如何在PostgreSQL查詢輸出中將表的不同列組合成單個列?
假設您有一個名為user_info的表,其中包含不同使用者的州和地區。下面給出一個示例:
姓名 | 地區 | 州 |
---|---|---|
Anil | 孟買 | 馬哈拉施特拉邦 |
Joy | 賈拉瓦爾 | 拉賈斯坦邦 |
Ron | 浦那 | 馬哈拉施特拉邦 |
Reena | 梅魯特 | 北方邦 |
現在,如果您想將州和地區組合到一個名為location的欄位中,您可以這樣做:
SELECT name, district || ', ' || state as location from user_info
|| 運算子是字串連線運算子。輸出將是:
姓名 | 位置 |
---|---|
Anil | 孟買,馬哈拉施特拉邦 |
Joy | 賈拉瓦爾,拉賈斯坦邦 |
Ron | 浦那,馬哈拉施特拉邦 |
Reena | 梅魯特,北方邦 |
類似的操作也可以對數值執行。假設您有一個名為marks的表,其中包含學生獲得的總分和最高可能分。下面給出一個示例:
姓名 | 得分 | 最高分 |
---|---|---|
Anil | 342 | 600 |
Joy | 567 | 600 |
Ron | 456 | 600 |
Reena | 543 | 600 |
現在,如果您希望輸出一個新列,其中包含基於marks_scored和max_marks的百分比分數,您可以按如下方式執行:
SELECT name, marks_scored*100.0/max_marks as perc from marks
輸出將如下所示:
姓名 | 百分比 |
---|---|
Anil | 57 |
Joy | 94.5 |
Ron | 76 |
Reena | 90.5 |
廣告