你可以使用 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
显然,如果您想要专辑中的所有内容,请删除第二个条件。如果您想包含正在收听的曲目,请更改>为>=.
您刚刚评论:
我应该提到它,但 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