其实我甚至不知道如何调用这样的:P,但...非常复杂的集团通过由SQL命令/独特/限制
我有一个表,让我们把它称为“上传”
id owner date
-----------------------------
0 foo 20100101120000
1 bar 20100101120300
2 foo 20100101120400
3 bar 20100101120600
.. .. ..
6 foo 20100101120800
现在,当I'ld做这样的事情:
SELECT id FROM uploads ORDER BY date DESC
这将导致:
id owner date
-----------------------------
6 foo 20100101120800
.. .. ..
3 bar 20100101120600
2 foo 20100101120400
1 bar 20100101120300
0 foo 20100101120000
问题:不错,但是,我想走得更远。因为现在,当你想建立一个时间表(而且我做了:P)时,你被'垃圾邮件'通过消息说foo和bar上传了一些东西。我想对它们进行分组,并在日期字段中返回时间限制为'500'的第一个结果。
什么样的SQL命令的,我需要的是会导致:
id owner date
-----------------------------
6 foo 20100101120800
3 bar 20100101120600
0 foo 20100101120000
然后,在这之后,我可以为每个记录进行调用以获取在5分钟的时间内完成关联记录(这是id = 6的示例):
SELECT id FROM uploads WHERE date>=20100101120800-500 ORDER BY date DESC
现在有人应该怎么做第一步吗? (如此限制/分组的结果)
(btw。我知道,当我想要使用这个,我应该将每个日期(YmdHis = 60)转换为Unix时间(= 100),但我不需要5分钟正好5分钟,它们可能会稍微减少一分钟...)
这正是我的意思。我现在使用“SELECT id FROM uploads GROUP BY ROUND(UNIX_TIMESTAMP(date)/ 3600),owner”。我使用3600,因为我认为1小时比5分钟更好。在Reinierpost提到“间隔”之后,我开始使用Google搜索到“MySQL Group By Interval”,我发现这个:http://forum.percona.com/index.php/t/748/,这非常有帮助! 无论如何,非常感谢Reinierpost,Symcbean和Brent! – elslooo 2010-10-22 16:25:27