【发布时间】:2014-08-28 21:23:40
【问题描述】:
我有一个 MySQL 表格...
record timestamp
1 2014-07-10
2 2014-07-10
1 2014-07-11
2 2014-07-11
1 2014-07-12
2 2014-07-12
...我想以返回一组表单的方式查询它...
record 1st time 2nd time 3rd time
1 2014-07-10 2014-07-11 2014-07-12
2 2014-07-10 2014-07-11 2014-07-12
...
我很乐意使用MAX() 和子查询来获得最近的时间戳,但这似乎更适合返回可迭代的 SQL 对象。例如,如果我可以使用类似...
SELECT record, timestamp[0] AS "1st time", timestamp[1] AS "2nd time", timestamp[2] AS "3rd time"
...那太好了。这是PIVOT() 可以用来做什么吗?
【问题讨论】:
-
将表加入自身 3 次。杂乱无章,但 SQL 形状不是动态的(必须使用动态查询生成或外部代码来处理 N)。如果一个字符串可以被返回/处理 MySQL does 有
group_concat.