我有一个像
这样的查询SELECT name,count(*) cnt group by b order by cnt desc limit 10;
所以我会有一个像
这样的项目列表Name Count
test 6
test2 4
test6 1
test23 1
test4 1
问题是cnt = 1有1000个结果,我想随机显示它们,否则我对每个查询总是显示或多或少相同。我想要的是具有相同cnt值的行上的随机顺序。它可行吗?
答案 0 :(得分:4)
您可以在计算后按顺序使用RAND()
SELECT name,count(*) cnt from t
group by b order by cnt desc ,RAND()
limit 10;
因此,第一行将按降序排列cnt,然后对于相同的count(cnt)行,将随机排序