mysql:计算上次访问时间的站点访问次数

时间:2016-02-25 05:41:59

标签: mysql

我有一张桌子,我正在保存访客的IP地址和访问时间。

现在我想以这样的方式查询我的表,它给了我总数。在最后一次访问时从IP地址访问网站。

例如假设这是我的表:

ip              time
-------------------------------
1.1.1.1       23-feb-2016 09:40 
1.1.1.1 24-feb-2016 09:45
1.1.1.1 25-feb-2016 09:50
1.1.1.2 26-feb-2016 09:55
1.1.1.2 27-feb-2016 10:00

现在我希望我的结果是这样的:

   ip               time        count
----------------------------------------
1.1.1.2       27-feb-2016 10:00    2 
1.1.1.1 25-feb-2016 09:50 3

我正在使用此查询:

$query = "SELECT ip, time, COUNT(*) as count FROM ip_table GROUP BY ip ORDER BY time DESC";

但它没有从特定的IP地址给我最后一次访问时间。

我的输出如下:

enter image description here

2 个答案:

答案 0 :(得分:2)

试试这个。它给你最后一次访问时间

SELECT ip, MAX(time) AS 'time', COUNT(*) as count 
FROM ip_table 
GROUP BY ip

如果您想按所有个人ID的总体最长时间排序,那么您可以按时间顺序使用

SELECT a.id, a.time, a.`count` FROM 
(
SELECT ip, MAX(time) AS 'time', COUNT(*) as count 
FROM ip_table 
GROUP BY ip
)as a
ORDER BY time DESC;

链接JSFiddle

答案 1 :(得分:0)

试试这个

SELECT ip, MAX(time), COUNT(*) as count 
FROM ip_table 
GROUP BY ip;

无需按时间顺序排列。试一试,看看它是否适合你。