2017-08-06 49 views
1

我構建了一個應用程序用來從mySql dB獲取數據的API。查詢數據的一部分,當用戶啓動應用程序時,應用程序向dB發送用戶的IP和連接時的時間戳。這意味着,我有一個表那類似於此用戶統計。記錄IP和訪問時間戳:如何計算統計信息

| IP Number | timestamp | 
----------------------------------- 
| 193.12.143.145 | 1502020875 | 
| 121.144.98.201 | 1499606040 | 
| 188.34.12.167 | 1500142980 | 
----------------------------------- 

我想繪製圖表(或至少具有正確的數據來繪製的話),顯示用戶(Y)按日期的數/時間(X)。在實踐中,tipical網站統計這樣的:

enter image description here

我使用PHP。我該如何處理來自dB的數據?我應該做什麼樣的計算?我應否GROUP IP?

+0

請[編輯]你的問題澄清。您的示例顯示的圖表顯示每天一次計數。我的答案顯示瞭如何得到那個。你想讓用戶按小時計算嗎?你想要統計不同的IP值嗎? –

回答

0

怎麼是這樣的:

SELECT COUNT(*) usercount, DATE(FROM_UNIXTIME(timestamp)) day 
    FROM table 
    GROUP BY DATE(FROM_UNIXTIME(timestamp)) 

將在當地時間報告,除非你這樣做:

SET timezone = 'UTC' 
+0

我試過你的查詢,但它沒有按日期/時間劃分IP。我想知道在某個日期/時間連接了多少個IP。這可以使用mySQL完成,還是應該使用PHP解決? – Nicero

+0

我不明白你的意思*按日期/時間*劃分IP。請編輯你的問題來澄清,也許舉一個例子。 –