您好我试图进行查询以大幅缩短员工徽章加盖表。
每张邮票都有一条记录,例如:
Badge Date Time Type
430016 12/12/2016 09:34 In
430016 12/12/2016 13:02 Out
430016 12/12/2016 13:26 In
430016 12/12/2016 17:58 Out
430016 12/12/2016 18:01 In
430016 12/12/2016 19:02 Out
我需要一个mysql查询将它全部放在一个记录中,即
Badge Date In1 Out1 In2 Out2 In3 Out3
0430016 2/12/2016 09:34 13:02 13:26 17:58 18:01 19:02
答案 0 :(得分:0)
我认为你正在寻找一个数据透视表。它将行转换为列。
这是一个教程http://www.artfulsoftware.com/infotree/qrytip.php?id=78
此外,stackoverflow上的另一篇文章非常相似 MySQL pivot table
答案 1 :(得分:0)
试试这个。
SELECT Badge, Date, GROUP_CONCAT(TIME ORDER BY TIME SEPARATOR ',') as times,
GROUP_CONCAT(TYPE ORDER BY TIME SEPARATOR ',') as types
FROM peoples_hobbies GROUP BY Badge
您可以使用分隔符','。
通过字符串操作获得结果