[英]SQL random 4 rows with distinct column
I have table representing music tracks with columns id, artist, name, src, sample_start and level. 我有代表ID,艺术家,名称,src,sample_start和level列的音乐曲目的表。 I want to select random 4 rows but with distinct artists and specified level. 我想随机选择4行,但具有不同的艺术家和指定的级别。 The closest I got was this, but it's not random as max id is selected. 我得到的最接近的是这个,但是由于选择了最大id,它不是随机的。
'SELECT * FROM tracks WHERE level = :level AND id IN
(SELECT max(id) FROM tracks GROUP BY artist)
ORDER BY RAND() LIMIT 4'
你可以试试这个吗?
SELECT * FROM tracks WHERE LEVEL = :LEVEL AND id IN (SELECT DISTINCT id FROM tracks ORDER BY RAND()) ORDER BY RAND() LIMIT 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.