2011-06-08 66 views
2

我有一張名爲「流量」的表格,用於記錄網站訪問者。在網站上獲取最新的訪問者

每個頁面視圖都被記錄下來,所以每個IP地址都有多個條目。

我需要檢索按IP地址分組的最新訪問。我怎樣才能做到這一點?

列:ID(AUTOINC),ip地址(VARCHAR),lastActivity(日期時間)

+0

1.你確定這是合法的嗎? 2. IP地址不能連接到訪問者。 3.'SELECT ipaddress FROM traffic ORDER BY lastActivity DESC LIMIT 1;' – 2012-06-07 12:03:56

回答

-1
Select * from traffic GROUP BY ipaddress ORDER BY lastActivity DESC 
+1

在上面的查詢順序中將按照分組的結果工作。所以這不會返回所需的結果 – 2011-06-08 13:15:22

+0

它不起作用嗎? – 2011-06-08 13:15:30

+1

不起作用。辛格先生是對的。我只想要每個iPad的「最新」訪問。上面的查詢只是按照隨機順序對它們進行分組,然後再應用順序。 – Jason 2011-06-08 13:23:38

1
select f.ipaddress , f.lastActivity 
from (
    select ipaddress , max(lastActivity) as maxdate 
    from traffic group by ipaddress) as x 
    inner join traffic as f 
    on f.ipaddress = x.ipaddress and f.lastActivity= x.maxdate; 
+0

太棒了!謝謝。不幸的是我不能投票,因爲我是一個新成員。但非常感謝你! – Jason 2011-06-08 13:52:04

+0

哇這個查詢是如此f * cked了...你加入表流量到表流量????? – 2012-06-07 12:06:09

+0

@Bondye加入一張桌子是一種非常有用的技術。見http://en.wikipedia.org/wiki/Join_%28SQL%29#Self-join – 2012-06-07 12:28:54

相關問題