IP访问次数不正确

时间:2013-06-04 15:43:33

标签: sql count

此查询...

SELECT a.*
FROM LicenseHistory a
JOIN (
    SELECT LicenseID, date as date, COUNT(DISTINCT IPAddress) as IPcount
    FROM LicenseHistory 
    WHERE (LicenseID= 24965)
    GROUP BY LicenseID,IPAddress,Date
    /*HAVING COUNT(DISTINCT IPAddress) > 1*/
) b ON (a.LicenseID = b.LicenseID) AND date(a.date) = date(b.date)
order by date desc, LicenseID desc

返回......

Date                lic     users   IP Address    country   Count
2013-05-14 13:44:56 24965   15  70.60.96.98 US  1455
2013-05-14 13:44:56 24965   15  70.60.96.98 US  1455
2013-05-14 11:50:34 24965   15  72.252.247.148  JM  111
2013-05-14 11:50:34 24965   15  72.252.247.148  JM  111
2013-03-29 07:40:37 24965   15  184.39.241.223  US  14

count列明显不正确,因为只提取不同IP的查询返回123(70.60.96.98)。这个查询如何达到1455的计数?我想计算许可证24965在2013-05-14从70.60.96.98到达的次数以及每个日期列表中每个ip的类似情况。

1 个答案:

答案 0 :(得分:2)

时为什么会出现如此可怕的复杂查询
SELECT count(*)
FROM LicenseHistory
WHERE (LicenseID = 24965) AND (IPAddress = '70.60.96.98')

可以做到这一点吗?