我有以下查询:
SELECT id
FROM auctions
WHERE end_dt > TIME_TO_SEC(TIMEDIFF(end_dt, now())) > '0'
GROUP BY auctions.id
ORDER BY end_dt ASC
LIMIT 15
这真的很慢。但基本上,我们试图通过检查剩余秒数是否大于零来选择最近的 15 条即将“结束”的记录。
我想我把它复杂化了,我想我可以做这样的事情:
SELECT id
FROM auctions
WHERE end_dt > now()
GROUP BY auctions.id
ORDER BY end_dt ASC
LIMIT 15
但是,这会返回不同的结果。
有没有人有更好的解决方案?
谢谢!
最佳答案
尝试
WHERE `end_dt` BETWEEN DATE_SUB(NOW() , INTERVAL 15 MINUTE)
AND NOW()
来源:MySQL Select rows where timestamp column between now and 10 minutes ago
关于database - 选择 WHERE 日期大于当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3631198/