我有一张存储播放列表的桌子。它的定义非常简单,只有三列:
这对于将新歌曲添加到列表的末尾和重新排列歌曲很有效,但是是否有一种方法可以让我查询列表中第一个元素的id?也就是没有nextID链接的那个?
目前,我正在考虑将第一个songID存储在播放列表表中,但如果可能的话,我希望避免这样混淆它们。
发布于 2014-08-27 01:34:43
这是SQL数据库的一个糟糕的数据结构。关系模型不能很好地处理显式链接列表。
相反,您应该有一个具有如下列的表:
把它们放在一张桌子上。
不过,你的问题的答案是:
select *
from playlist
where nextID is null;然而,我认为这是最后一次,而不是第一次。
编辑:
您可以获得的第一个如下:
select *
from playlist pl
where not exists (select 1 from playlist pl2 where pl2.nextid = pl.id and pl2.setId = pl.setId);https://stackoverflow.com/questions/25517595
复制相似问题