【发布时间】:2013-06-04 15:43:32
【问题描述】:
这个查询...
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
计数列显然不正确,因为仅提取不同 IP 的查询返回计数 123(对于 70.60.96.98)。此查询如何达到 1455 的计数?我想计算许可证 24965 在 2013 年 5 月 14 日从 70.60.96.98 到达的次数,以及每个日期列表中每个 ip 的类似次数。
【问题讨论】: