简体   繁体   English

SQL随机4行与不同的列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM