1
內我有一個表一堆紀錄:SQL選擇記錄時間間隔
userID testID value time
1 1001 2 2009-09-05 06:25:00
1 1001 4 2009-09-05 07:25:00
1 1001 2 2009-09-05 03:25:00
1 1002 5 2009-09-05 06:25:00
1 1002 6 2009-09-05 07:25:00
1 1002 4 2009-09-05 03:25:00
用戶輸入的時間x。我想在入口的第一個X小時內查詢每個測試的最新值。也就是說,如果他在3:25進入,我想在3小時內的最新值,我想回到
1 1001 2 2009-09-05 07:25:00
1 1002 5 2009-09-05 07:25:00
我不知道最好的方式去了解這一點,但這裏是我試過到目前爲止:
SELECT testID, value from table WHERE userID = 1 and
time <= timestamp 'enter_time' + INTERVAL '3 HOURS' as u INNER JOIN
(SELECT testID, max(time) as time from table WHERE time <= timestamp
'enter_time' + INTERVAL '3 HOURS' GROUP BY testID) as q
on u.itemid = q.itemid AND u.time = q.time
我收到語法錯誤,但代碼似乎是正確的。有人能幫我一下嗎?
謝謝!
你得到了什麼錯誤,以及RBDMS是什麼? MySQL的?甲骨文? –
我在postgresql上。錯誤只是「AS上或附近的語法錯誤」,其中AS是ASU部分。 – xhassassin