其實我甚至不知道如何調用這樣的: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