gpt4 book ai didi

SQL 将一列的值分组到另一列

转载 作者:行者123 更新时间:2023-11-29 11:58:38 28 4
gpt4 key购买 nike

SQL 中是否有某种“聚合”函数可以将值转换为列表?一个示例可能是以下形式的表格:

| game_id | player | score |
|---------|--------|-------|
| 1 | fred | 2 |
| 1 | tom | 1 |
| 2 | fred | 3 |
| 2 | tom | 4 |

我想要返回的是一个如下所示的表格:

| player | scores |
|--------|--------|
| fred | 2, 3 |
| tom | 1, 4 |

该命令可能类似于:SELECT 玩家,listify(score) FROM games GROUP BY 玩家;

最佳答案

感谢蒂姆和戈登。我正在寻找的 Postgres 函数是 array_agg。本例中的完整查询如下所示:

SELECT player, array_to_string(array_agg(score), ',') AS scores FROM games GROUP BY player;

array_agg 将所有分数放入一个数组中,您必须将它们转换为字符串才能在 SELECT 语句中返回它们。

关于SQL 将一列的值分组到另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46555675/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com