4
我有一個包含pagehit(標準化)數據的表格,我需要抓取10個最新的獨特ips。如何從MySQL表中檢索10個最新的DISTINCT IP?
我試圖做這樣的:
SELECT * FROM spy_hits ORDER BY date desc GROUP BY ip LIMIT 10;
應該給我這樣的結果:
+-----+------------+-----+---------+----+------+------+---------+-------+-------+ | id | date | ip | browser | os | page | host | referer | query | agent | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ | 354 | 1244442065 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 311 | 1244442000 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ 2 rows in set (0.00 sec)
這是最新的獨特的觀衆到現場。
但我得到一個語法錯誤,而不是那個結果。
所以,我必須這樣做查詢:
SELECT * FROM spy_hits GROUP BY ip ORDER BY date desc LIMIT 10;
我本以爲這是好的。但是它給出了這樣的結果:
+-----+------------+-----+---------+----+------+------+---------+-------+-------+ | id | date | ip | browser | os | page | host | referer | query | agent | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ | 280 | 1242130841 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 268 | 1242130818 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ 2 rows in set (0.00 sec)
但是,按日期順序設置以其分組的後已經所以它在抓住這也是最古老的表中的第一個獨立IP地址。
所以表雲:
id --- date 268 1242130818 (Old) | | V V 354 1244442065 (New)
但我想它去這樣我通過做組之前:
id --- date 354 1244442065 (New) ^ ^ | | 268 1242130818 (Old)
我使用PHP它,如果任何人有有關如何使用PHP解決方案獲得結果的想法。
乾杯提前:)
+1。如果StackOverflow中的所有問題都是這樣,那麼這個世界將會是一個更好的地方。 – 2009-06-08 09:18:53
+1,原因與上述評論相同。保持! :) – kizzx2 2009-06-08 09:21:11