[英]Get rows between last inserted and 10 minutes before that date
有人可以指出我正確的方向。 我需要從上次插入的日期到該日期之前的10分鍾檢索數據。
這是我的代碼,有沒有更好的方法編寫呢?
SELECT Datum, Value
FROM tableX
WHERE ItemFK = 109
AND Datum BETWEEN
DATE_SUB(
(
SELECT Datum
FROM tableX
WHERE ItemFK = 109
ORDER BY Datum DESC
LIMIT 1
), INTERVAL 10 MINUTE
)
AND (
SELECT Datum
FROM tableX
WHERE ItemFK = 109
ORDER BY Datum DESC
LIMIT 1
)
ORDER BY Datum DESC
我不能使用DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND NOW()
因為我不知道上次插入時間是什么時候。
其他方法是通過兩個查詢。 一個檢索最后一個日期,另一個檢索從該日期到該日期之前10分鍾的數據。
編輯添加了SQL Fiddle http://sqlfiddle.com/#!2/3c62c/1
謝謝。
SELECT x.*
FROM tblTable x
JOIN
( SELECT MAX(datum) max_datum FROM tblTable ) y
ON x.datum >= y.max_datum - INTERVAL 10 minute;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.