2017-08-06 79 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。请编辑你的问题来澄清,也许举一个例子。 –