2011-05-08 118 views

回答

1

我不知道,我是否正確地回答了您的問題:「我只能得到當前正在進行的測驗。」這是否意味着,您有當前正在進行的測驗的ID,或者您可以通過比較其開始和結束與當前時間來確定此測驗?

在第一種情況下,你可以這樣做:

SELECT *, TIMEDIFF(b.start, a.end) 
FROM <table> AS a 
LEFT JOIN <table> AS b ON b.id_quiz <> a.id_quiz AND b.start > a.end 
WHERE a.id_quiz = <current quiz id> 
ORDER BY b.start ASC 
LIMIT 1 

在第二種情況下,那就更簡單了:

SELECT *, TIMEDIFF(x.start, NOW()) 
FROM <table> AS x 
WHERE x.start > NOW() 
ORDER BY x.start ASC 
LIMIT 1 
+0

鮑爾泰克的問題現在()作爲參數,而不是目前的測驗ID – Dan 2011-05-08 10:59:12

+0

@丹,我在這個問題中看不到任何「NOW()」。無論如何,謝謝你的提示。也許我沒有完全正確地回答這個問題,所以我在這個方向上編輯了我的答案。 – Flinsch 2011-05-08 11:14:16

+0

不想聽起來像一個雞巴,但你應該比較使用> = – Dan 2011-05-08 12:03:04

1

現在從開始減去?

-(now()-start)?