如何组合表的不同列以在 PostgreSQL 的查询输出中生成单个列?

假设您有一个表 user_info,其中包含不同用户的州和地区。下面给出了一个例子 -

名称状态
Anil孟买Maharashtra
喜悦贾拉瓦尔Rajasthan
罗恩浦那Maharashtra
瑞娜米拉特Uttar Pradesh

现在,如果您想将州和地区合并到一个名为 location 的字段中,这就是您应该能够做到的 -

SELECT name, district || ', ' || state as location from user_info

|| 运算符是字符串连接运算符。输出将是 -

名称地点
阿尼尔孟买、马哈拉施特拉邦
Joy拉贾斯坦邦贾拉瓦尔
Ron马哈拉施特拉邦浦那
Reena北方邦密拉特

也可以对数值进行类似的操作。假设您有一个表格标记,其中包含学生的总分和可能的最高分。下面给出了一个例子 -

名称标记得分最大标记
Anil342600
喜悦567600
罗恩456600
瑞娜543600

现在,如果您希望基于marks_scored 和max_marks 输出一个包含百分比标记的新列,您可以按如下方式进行:

SELECT name, marks_scored*100.0/max_marks as perc from marks

输出将如下所示 -

名称全氯乙烯
阿尼尔57
Joy94.5
Ron76
Reena90.5