我正在尝试获取一个查询以在一行中显示事件奖品的所有数据。例如,这是我的表格的示例。
Event_id Place Money
101 1 120
101 2 60
101 3 30
102 1 100
102 2 50
102 3 25
我想要的结果如下所示:
Event_id First Second Third
101 120 60 30
102 100 50 25
如能提供帮助,我们将不胜感激。
最佳答案
希望这对您有所帮助。
SELECT Event_ID,
GROUP_CONCAT(IF(place = 1, `money`, NULL)) `First`,
GROUP_CONCAT(IF(place = 2, `money`, NULL)) `Second`,
GROUP_CONCAT(IF(place = 3, `money`, NULL)) `Third`
FROM tableName
GROUP BY event_id
如果您想了解更多有关 sql 技巧的信息,请访问:
关于MySQL子查询一行列出信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477101/