![](/img/trans.png)
[英]Selecting unique rows from a table that are not found in two other tables in sqlite
[英]Selecting unique records from sqlite table
我有一个名为Tracks的sqlite表,其中包含有关存储在我的音乐库中的许多曲目的信息。 表中的列如下: artistName
, trackName
, trackPath
, imagePath
, year
, albumName
, bpm
, genre1
, genre2
, genre3
。
我使用简单的select语句返回表中的所有唯一曲目,例如,要获取Rock风格中的所有曲目,请使用以下命令:
SELECT DISTINCT artistName, trackName, trackPath, imagePath, year, albumName, bpm, genre1, genre2, genre3
FROM Tracks
WHERE genre1='Rock' or genre2='Rock' or genre3='Rock'
我遇到的问题是,我不想为可能具有不同年份值但具有相同artistName,trackName和AlbumName的曲目返回2条记录。 例如,如果我有2条曲目,且同时具有artistName = 'Bruce Springsteen'
和trackName = 'Dancing In The Dark'
和albumName = 'Greatest Hits'
但年份可能不同,则一个year = '1984'
可能是year = '1984'
,而另一个可能是是year = '1985'
,我只想返回其中之一,而不是两者都返回。
有人可以帮我解决这个问题吗? 这让我疯狂?!
您可以使用已有的内容,但可以将聚合添加到查询中。
SELECT DISTINCT artistName, trackName, trackPath, imagePath, MAX(year), albumName, bpm, genre1, genre2, genre3
FROM Tracks
where genre1='Rock' or genre2='Rock' or genre3='Rock'
group by artistName, trackName, trackPath, imagePath, albumName, bpm, genre1, genre2, genre3
结果将是一个记录,但年份将是最近一年。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.