gpt4 book ai didi

mysql - 如何根据 SQL 中的条件在列而不是行中显示数据

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

我有一个包含 3 列的表 tt_players。

表结构

enter image description here

而我想要的结果是这样的。

enter image description here

请注意,具有相同reservation_id 的记录应出现在列中。我知 Prop 有相同 reservation_id 的行不会从 3 开始增加。

我尝试了 Group BY 子句但无法实现我想要的。任何帮助或提示将不胜感激。

最佳答案

我认为编写与您的字面预期输出相匹配的查询会让人头疼。但是使用 GROUP_CONCAT 我们可以得出非常接近的结果:

SELECT
reservation_id,
GROUP_CONCAT(player_id ORDER BY player_id) players
FROM
yourTable
GROUP BY
reservation_id;

enter image description here

这可能比您预期的更可取的一个原因是,如果给定的预订在未来的某个时间应该有超过 3 名玩家,我的查询只会将新玩家添加到 CSV 玩家列表中。如果我们在没有动态 SQL 的情况下获得准确的输出,则第四个玩家的存在可能会破坏查询。

Demo

关于mysql - 如何根据 SQL 中的条件在列而不是行中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47133657/

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