您可以使用JOIN獲取您想要的內容。假設你的表有一個鏈接到一張專輯的ID,這樣就可以獲得當前正在監聽的曲目之後的所有內容。
select *
from songs a
join songs b
on a.album_id = b.album_id
where a.song_id = 1
and b.song_id > a.song_id
很顯然,如果你想在這張專輯的一切,然後刪除第二個條件。如果您想包含正在收聽的曲目,請將>
更改爲>=
。
你剛說:
我應該mentionned,但該ID是不相關的 曲目的順序,這是在探微表的主鍵。
如果是這種情況,那麼b.song_id > a.song_id
可能是不正確的。您還沒有給我們完整的模式,但我強烈建議您的songs
表包含曲目的播放順序,所以它看起來像(SONG_ID, ALBUM_ID, ALBUM_ORDER, ... more song level info)
。然後,您的查詢就會變成:
select *
from songs a
join songs b
on a.album_id = b.album_id
where a.song_id = 1
and b.album_order > a.album_order
來源
2012-12-23 10:04:36
Ben
很模糊的描述,自然會導致許多不同類型的答案。你究竟想達到什麼目的?你有一個ID,你想得到該ID和所有後續(下)的記錄?如果是這樣,你可以很容易地使用'WHERE id>給定id'語法,但問題還不夠具體。 – brezanac
這是不公平的@holodoc,OP的母語不是英語,我認爲他們溝通後他們很好。這兩個答案在功能上可以等價,因爲在SQL中通常有很多方法可以做同樣的事情。這也不反映在OP上。 – Ben
@holodoc,我應該提到它,但id與軌道順序無關,它是表中的主鍵。但我完全同意,我可以更具體但是像本說的那樣,我的母語不是英語,我有一些困難來解釋它,我很抱歉 – eephyne