仅查找24小时数据的MySQL查询

仅查找24小时数据的MySQL查询,mysql,Mysql,我试图检索24小时内的数据 我的sql是: SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' AND reporttime BETWEEN SYSDATE() - INTERVAL 1 DAY AND SYSDATE()) ORDER BY reporttime ASC 谁能告诉我哪里出了问题。提前谢谢 在标准SQL中,您需要在该上下文中引用数字 reporttime BETWEEN SYSDATE() - INTERVAL '1'

我试图检索24小时内的数据

我的sql是:

SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' AND
reporttime BETWEEN SYSDATE() - INTERVAL 1 DAY AND SYSDATE()) ORDER BY
reporttime ASC

谁能告诉我哪里出了问题。提前谢谢

在标准SQL中,您需要在该上下文中引用数字

reporttime BETWEEN SYSDATE() - INTERVAL '1' DAY AND ...
MySQL文档表明,您不需要在MySQL中这样做。我会怀疑,然后测试。我这里没有运行MySQL服务器实例,否则我会为您测试它


您可能希望现在而不是SYSDATE。在单个SQL语句中,因此对SYSDATE的两个调用可能返回不同的值,但不太可能返回不同的值。

在标准SQL中,您需要在该上下文中引用该数字

reporttime BETWEEN SYSDATE() - INTERVAL '1' DAY AND ...
MySQL文档表明,您不需要在MySQL中这样做。我会怀疑,然后测试。我这里没有运行MySQL服务器实例,否则我会为您测试它


您可能希望现在而不是SYSDATE。在单个SQL语句中,因此对SYSDATE的两个调用可能返回不同的值,但不太可能返回不同的值。

您的括号不平衡

SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' AND
reporttime BETWEEN SYSDATE() - INTERVAL 1 DAY AND SYSDATE() ORDER BY
reporttime ASC

你的括号不平衡

SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' AND
reporttime BETWEEN SYSDATE() - INTERVAL 1 DAY AND SYSDATE() ORDER BY
reporttime ASC
从SYSDATE中删除额外的brcket

从SYSDATE中删除额外的brcket



有什么问题?*有什么问题,警官?更严重的是,你确定reporttime是datetime字段吗?有什么问题?*有什么问题,警官?更严重的是,你确定reporttime是一个datetime字段吗?我刚刚试过:$query=SELECT*FROM aprstrack,其中callsignSSID='VE9SC-9'和reporttime之间的间隔为'1'天,现在按reporttime ASC排序;我刚刚尝试过:$query=SELECT*FROM aprstrack,其中callsignSSID='VE9SC-9'和reporttime之间的间隔为'1'天,现在按reporttime ASC排序;这给了我相同的输出。问题是我得到callsignSIID VE9SC-9的所有数据。我想要的只是过去一天24小时期间的数据。$query=SELECT*FROM aprstrack,其中callsignSSID='VE9SC-9'和reporttime介于现在之间-间隔'1'天,现在按reporttime ASC排序;您是否已从调用SignSSID='VE9SC-9'和reporttime