作者:张怡如秋岳 | 来源:互联网 | 2022-12-17 16:40
我的数据库就像
id|service_id
1 | 8
2 | 3
3 | 4
4 | 1
5 | 3
6 | 2
7 | 1
我想将它排序为像行一样service_id
但是随机的.喜欢
id|service_id
1 | 8
4 | 1
7 | 1
2 | 3
5 | 3
6 | 2
3 | 4
意味着首先排序所有行service_id
然后通过随机排序service_id
.我也试过试过SELECT * from sample_table order by service_id DESC
,ASC
但它只通过DESC
或排序ASC
.我也尝试order by rand(service_id)
了,但它也显示了一些固定的排序.
1> juergen d..:
select t.*
from your_table t
join
(
select service_id, rand() as r
from your_table
group by service_id
) tmp on t.service_id = tmp.service_id
order by tmp.r;
SQLFiddle演示
基本上这可以随意替代service_id
和命令