2017-03-22 37 views
0

選擇名單上有以下數據庫大多數某些條目

​​

,我想選擇具有AC/DC的最歌曲,但我的腳本不工作的播放列表。

我的腳本:

SELECT playlist.Name 
FROM playlist 
INNER JOIN playlisttrack 
ON playlist.PlaylistId = playlisttrack.PlaylistId 
INNER JOIN track 
ON playlisttrack.TrackId = track.TrackId 
INNER JOIN album 
ON track.AlbumId = album.AlbumId 
WHERE ArtistId = 1; 
+0

'WHERE artist.ArtistId = 1'中的'artist'是什麼?' – Pons

+0

之前的任何地方都沒有定義AC/DC有Id 1,我想用他們的大部分歌曲找到播放列表。 – Michael

+0

好的,但你沒有加入專輯的軌道,所以你無法訪問ArtistId – amenadiel

回答

0

已經有一段時間,因爲我已經做了MySQL,但它應該是相當接近這個。

SELECT playlist.Name 
FROM playlist 
INNER JOIN playlisttrack 
ON playlist.PlaylistId = playlisttrack.PlaylistId 
INNER JOIN track 
ON playlisttrack.TrackId = track.TrackId 
INNER JOIN album 
ON track.AlbumId = album.AlbumId 
WHERE album.ArtistId = 1 
GROUP BY playlist.PlayListId, playlist.Name 
ORDER BY COUNT(*) DESC 
LIMIT 1; 

注意,Group By被混爲一談您的播放列表一起(我包括PlayListId爲你做任何事情來表明你的名字是唯一的)

我做ORDER BY COUNT(*) DESC得到計數在每個播放列表中,然後我在做LIMIT 1以獲得第一個播放列表。

+0

非常感謝。 – Michael