【发布时间】:2015-12-25 21:56:01
【问题描述】:
我有几个问题来确定这个月有多少 IP 回来了。如果 IP 在同一天回来,则不算“回来”。仅当 IP 在另一天返回时才计算在内。所以这是我的查询,但我的逻辑或查询有问题:
SELECT COUNT( ip )
FROM ipAll
WHERE YEAR( DATE ) = '2015'
AND MONTH( DATE ) = '12'
所有IP:875
SELECT COUNT( DISTINCT ip )
FROM ipAll
WHERE YEAR( DATE ) = '2015'
AND MONTH( DATE ) = '12'
不同 IP: 588
本月返回的 IP: 875-588=287;
SELECT ip, COUNT( ip ) AS matches
FROM ipAll
WHERE YEAR( DATE ) = '2015'
AND MONTH( DATE ) = '12'
GROUP BY ip
HAVING matches >1
ORDER BY matches DESC
返回的行数: 104
所以,我有点困惑。第一个结果说这个月有287个IP回来了,第二个结果说这个月有104个IP回来了。我做错了什么,或者我在混淆什么逻辑?
【问题讨论】: