在PostgreSQL中,你可以使用string_agg
函数将行按照id聚合成一行。下面是一个示例解决方法:
假设我们有一个名为students
的表,其中包含id
和name
列。我们想要按照id将行聚合成一行,并将相同id的name连接在一起。
首先,我们可以使用以下代码创建并插入示例数据:
CREATE TABLE students (
id INT,
name TEXT
);
INSERT INTO students (id, name)
VALUES
(1, 'John'),
(1, 'Doe'),
(2, 'Jane'),
(2, 'Smith'),
(3, 'Alice');
现在,我们可以使用以下查询来按id将行聚合成一行:
SELECT id, string_agg(name, ', ') AS names
FROM students
GROUP BY id;
这将返回以下结果:
id | names
---+----------------
1 | John, Doe
2 | Jane, Smith
3 | Alice
在上面的查询中,我们使用GROUP BY
子句按照id分组。然后,我们使用string_agg
函数将相同id的name连接成一个字符串,并使用逗号作为分隔符。
希望这个示例能帮助到你!
下一篇:按ID将行中仅包含唯一值的R拼接