我有一个名为“powermon”的表,其中包含 2 列。SampleTime、Watts。 数据每 10 秒插入一次。我正在尝试编写一个将返回数据的查询,但如果间隔超过 15 秒,我希望它返回 0。我已经尝试了下面列出的代码,但我不断收到一个错误,提示“名为powermon.powermon 不存在'。该表确实存在并返回简单语句的值,例如“select SampleTime,Watts from powermon ...”
另一件事是我希望查询适用于所有日期,而不仅仅是一个特定的日期。
这是我尝试过的:
SELECT COALESCE(pm1.SampleTime + INTERVAL 10 SECOND, pm2.SampleTime + INTERVAL 10 SECOND) AS SampleTime, COALESCE(pm1.Watts, 0) AS Watts FROM powermon AS pm1 LEFT JOIN powermon AS pm2 ON pm1.SampleTime + INTERVAL 10 SECOND = pm2.SampleTime WHERE pm1.SampleTime BETWEEN '2023-03-16 00:00:00' AND '2023-03-16 23:59:59' AND (pm2.SampleTime IS NULL OR pm2.SampleTime > pm1.SampleTime + INTERVAL 15 SECOND) ORDER BY SampleTime ASC;