gpt4 book ai didi

php - MySQL 在任何 24 小时窗口内检查 X 条记录

转载 作者:行者123 更新时间:2023-11-29 00:08:15 24 4
gpt4 key购买 nike

我有一个系统将失败的登录尝试存储在一个表中并记录事件的日期时间。我需要的是一种查询数据库的方法,以检查任何用户在任何 24 小时内是否有 X 次失败尝试。

例如,让 x = 5。我需要检查任何用户是否在任何时间点有一个 24 小时窗口,该表中的记录数为 5 条或更多。 24 小时时间段可以是从当前时间到之前 24 小时,或者可以是例如上个月相隔 24 小时的任意两个时间点之间。

这可以通过简单的 MySQL 查询来实现吗?我看到的大多数线程都是关于计算过去 24 小时内的记录,这并不是我所需要的。

最佳答案

SELECT
yt1.userId
FROM
your_table yt1
INNER JOIN your_table yt2 ON yt1.userId = yt2.userId
AND yt2.fail_date <= yt1.fail_date
AND yt2.fail_date >= yt1.fail_date - INTERVAL 24 HOUR
GROUP BY yt1.userId
HAVING COUNT(*) >= 5

关于php - MySQL 在任何 24 小时窗口内检查 X 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26482437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com