gpt4 book ai didi

mysql - 在查询中创建间隔,如果有效则返回

转载 作者:行者123 更新时间:2023-11-29 13:19:33 25 4
gpt4 key购买 nike

我基本上有一个包含以下列的 mySQL 表:

时间,它是 int(11) 并将保存指定的值(秒数)

package,它是 int(11) 并将保存另一个指定值(一天内执行的操作数量)

last_run 为 int(11),将保存上次使用 SELECT 查询行的日期时间值

表格的示例如下

time     |     package    |        last_run
--------------------------------------------------
86400 | 1000 | 0000-00-00 00:00:00
86400 | 1000 | 0000-00-00 00:00:00
86400 | 1000 | 0000-00-00 00:00:00

我基本上想做一个像下面这样的 SELECT 查询

SELECT 
*
FROM
`table`
WHERE
`divide time by package` AS total_seconds_between_each_run
AND
`last_run` OLDER THAN (NOW() / total_seconds_each_run)

所以我想要做的想法是只抓取早于total_seconds_ Between_each_run的行,因为我只想在每个指定的时间间隔执行一个操作

我知道 mySQL 查询的语法不正确,但如果可能的话,这就是我想使用 mySQL 执行的“示例”

编辑

像下面这样的东西可以工作吗?

(UNIX_TIMESTAMP() - UNIX_TIMESTAMP(last_run)) > (time / package)

最佳答案

您不想将 NOW() 除以每次运行的秒数 - 在计算时您已经进行了除法。你想要减去。

SELECT *
FROM table
WHERE last_run < DATE_SUB(NOW(), INTERVAL (time/package) SECOND)

您在编辑中使用 UNIX_TIMESTAMP 进行的计算是等效的,因此它应该可以工作。

关于mysql - 在查询中创建间隔,如果有效则返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21034670/

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