由于我下面的表结构:查询,选择所有行自去年成功
我试图建立一个查询,将返回数失败的登录尝试每个IP 因为在过去一小时内最后一次成功登录该IP。例如,你会注意到在过去一个小时内,来自单个IP的多个失败尝试(0)
,但自上次成功登录(#145)以来,只有1次(#146),这就是我想要返回。
该查询也应该是动态的并返回分组IP的行。
到目前为止,这是我,但我认为@ipa
正在恢复NULL
SELECT COUNT(*) tries, @ipa := login_ip
FROM login_log
WHERE login_id > (
SELECT MAX(login_id)
FROM login_log
WHERE login_success = 1
AND login_ip = @ipa
)
AND login_success = 0
AND login_date > NOW() - 3600
GROUP BY login_ip
ORDER BY tries DESC;
感谢
在使用前似乎没有设置“@ ipa”。 – 2012-01-05 20:14:54