我有一张 table :
CREATE TABLE tblproducts
(
productid integer,
product character varying(20)
)
随着行数:
INSERT INTO tblproducts(productid, product) VALUES (1, 'CANDID POWDER 50 GM');
INSERT INTO tblproducts(productid, product) VALUES (2, 'SINAREST P SYP 100 ML');
INSERT INTO tblproducts(productid, product) VALUES (3, 'ESOZ D 20 MG CAP');
INSERT INTO tblproducts(productid, product) VALUES (4, 'HHDERM CREAM 10 GM');
INSERT INTO tblproducts(productid, product) VALUES (5, 'CREAM 15 GM');
INSERT INTO tblproducts(productid, product) VALUES (6, 'KZ LOTION 50 ML');
INSERT INTO tblproducts(productid, product) VALUES (7, 'BUDECORT 200 Rotocap');
如果我在 tblproducts
上执行 string_agg()
:
SELECT string_agg(product, ' | ') FROM "tblproducts"
它将返回以下结果:
CANDID POWDER 50 GM | ESOZ D 20 MG CAP | HHDERM CREAM 10 GM | CREAM 15 GM | KZ LOTION 50 ML | BUDECORT 200 Rotocap
如何按照使用 ORDER BY product
时的顺序对聚合字符串进行排序?
我正在使用 PostgreSQL 9.2.4。
最佳答案
使用 postgres 9.0+ 你可以写:
select string_agg(product,' | ' order by product) from "tblproducts"
关于sql - 如何对 string_agg() 的结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906826/