2013-10-14 29 views
0

我通過腳本將我的iTunes資料庫導入到表格中。該劇本沒有收到任何重複的歌曲標題和藝術家。因此,我有很多重複的歌曲。MySQL多重重複行 - 僅返回一個

trackid song artist tracknum 
4628  Title1 StackO  2 
6846  YMCA (blank)  11 
9043  YMCA (blank)  11 
9381  YMCA (blank)  11 
9382  Title2 StackO  3 

我怎麼會寫我的SQL語句時的歌曲,藝術家和tracknum都是一樣的只返回YMCA(4628)行的第一「的TrackID」?它應該是這樣的....

trackid song artist tracknum 
4628  Title1 StackO  2 
6846  YMCA (blank)  11 
9382  Title2 StackO  3 

這裏是我的SQL,因爲它現在代表...

"SELECT DISTINCT * FROM wp_tracks WHERE title LIKE '%" . $song . "%' AND artist LIKE '%" . $artist . "%'

這已經莫名其妙我一段時間了。

謝謝。

+0

'DISTINCT歌曲' –

+0

@u_mulder - 我還需要一個trackid才能被返回。這隻會返回一次,但正如我在我的問題中所述,我需要返回的第一個結果,這樣我有歌曲,藝術家和trackid – Turp

+0

你應該澄清'FIRST'你的意思,因爲這意味着訂購和你的避風港沒有明確地說出你想要的順序......所以「FIRST」和「LAST」實際上沒有任何意義 –

回答

5
SELECT song, artist, tracknum, MIN(trackid) AS first_track_id 
FROM wp_tracks 
GROUP BY song, artist, tracknum 

添加WHERE子句,選擇您要上市的追蹤。

+0

+1也許一個'ORDER BY trackid ASC'以及覆蓋YMCA(4628)' – AlexP

+1

@AlexP'只返回FIRST「trackid」實際上,OP沒有澄清FIRST是否意味着MIN在這方面 –

+0

@MostyMostacho行列出來,「它應該看起來像這樣....」 – AlexP

0

就不得不提到你想成爲什麼DISTINCT列,你的情況song

SELECT DISTINCT song FROM wp_tracks 
WHERE title LIKE '%" . $song . "%' AND artist LIKE '%" . $artist . "% 
+0

這並不回答這個問題。它缺少列。 –