2014-10-02 85 views
0

我有這樣的查詢試圖總結時間:Mysql的LEFT JOIN ON倒數第二個ID只

SELECT t1.id, t1.number, t1.time - COALESCE(SUM(t2.time), 0) time FROM times t1 
LEFT JOIN times t2 ON t1.number = t2.number AND t2.id < t1.id 
GROUP BY t1.id, t1.number, t1.time 

輸出:

id   number   time (in seconds) 
-------------------------------------------- 
1   9    65 
2   5    78 
3   7    92 

它工作正常,但我只需要使用的倒數第二個ID總結條款中的LEFT JOIN條件(t2.id < t1.id)。

+1

你可以請後現有數據和預期的輸出? – 2014-10-02 13:26:23

回答

1

對於選擇倒數第二個ID

SELECT t1.id, t1.number, t1.time - COALESCE(SUM(t2.time), 0) time FROM times t1 
LEFT JOIN times t2 ON t1.number = t2.number 
AND t2.id = (select id from times order by id desc limit 1,1) 
GROUP BY t1.id, t1.number, t1.time