我有一个选择语句,试图找出今天有多少ip回来了,这个月也访问过,但由于某些原因它没有工作。我做错了什么?
SELECT ip, COUNT( ip ) AS matches, DATE AS tempDate
FROM ipAll
WHERE YEAR( DATE ) = '2015'
AND MONTH( DATE ) = '12'
GROUP BY ip
HAVING matches > 1
AND tempDate = '2015-12-29'
LIMIT 0 , 30
预期结果:
让它返回一行或多行。
实际结果:
它返回0行
注意:
日期是一个列名,是的,我确信同一年,一月和一天数据库中有2个或更多ips。
答案 0 :(得分:-1)
完美适合我:
SELECT ip, COUNT( ip ) AS matches, DATE AS tempDate
FROM ipAll
WHERE DATE_FORMAT(DATE,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')
GROUP BY ip HAVING matches > 1
LIMIT 0 , 30
请注意,DATE列是MySQL Keyword,您应该用不同的
替换列名