database - 选择 WHERE 日期大于当前日期

标签 database mysql

我有以下查询:

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/

相关文章:

ruby - 我如何枚举我们的 Redis 数据库中的所有键?

android - 在 Eclipse 中访问 Android 数据库数据

javascript - 将 firebase DB 操作传递给 Node 是否有优势,或者只是让客户端 JS 处理它们?

php - 是否可以在 ajax 中将 POST 数据发送到另一个 php?

mysql 子查询不保持顺序为什么?

database - Sequelize验证抛出错误

表、列、触发器、约束、主键和外键的数据库命名约定(ISO、RFC 等)

mysql - 如何使用存储过程获取MYSQL动态查询?

php - for循环使用php以正确的格式显示数组

mysql - 如何向 Schema 类的 DBIx 搜索方法提供附加参数