Mysql SQL random 4行,列不同
我有一个表,它用id、artist、name、src、sample_start和level列表示音乐曲目。 我想随机选择4行,但有不同的艺术家和指定的级别。 我得到的最接近的是这个,但它不是随机的,因为选择了max idMysql SQL random 4行,列不同,mysql,Mysql,我有一个表,它用id、artist、name、src、sample_start和level列表示音乐曲目。 我想随机选择4行,但有不同的艺术家和指定的级别。 我得到的最接近的是这个,但它不是随机的,因为选择了max id 'SELECT * FROM tracks WHERE level = :level AND id IN (SELECT max(id) FROM tracks GROUP BY artist) ORDER BY RAND() LIMIT 4' 你能试试这个吗 SELEC
'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
它不选择不同的艺术家,默认情况下id是不同的。只需删除distinct并检查它。另外,为输入和输出提供一些数据样本,这样更好。