MySQL在同一列上排序两次
我的数据库就像MySQL在同一列上排序两次,mysql,sql,Mysql,Sql,我的数据库就像 id|service_id 1 | 8 2 | 3 3 | 4 4 | 1 5 | 3 6 | 2 7 | 1 我想将其排序为具有相同service\u id但随机出现的行。像 id|service_id 1 | 8 4 | 1 7 | 1 2 | 3 5 | 3 6 | 2 3 | 4 表示首先通过service\u id对所有行进行排序,然后再次通过randomservice\u id进行排序。我尝试了按服务id DESC从样本表订单中选择*并尝试了ASC,但它只通过DE
id|service_id
1 | 8
2 | 3
3 | 4
4 | 1
5 | 3
6 | 2
7 | 1
我想将其排序为具有相同service\u id
但随机出现的行。像
id|service_id
1 | 8
4 | 1
7 | 1
2 | 3
5 | 3
6 | 2
3 | 4
表示首先通过service\u id
对所有行进行排序,然后再次通过randomservice\u id
进行排序。我尝试了按服务id DESC从样本表订单中选择*并尝试了ASC
,但它只通过DESC
或ASC
进行排序。我也尝试过按兰德(服务id)订购,
,但它也显示了一些固定的排序
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;
基本上,这是对服务id
的随机替换,并以此作为订单
基本上,这是对服务id
和订单的随机替换,您所说的按兰德排序(服务id)
是什么意思显示固定排序?不,这也没有解决问题。@SandeshGupta问您一些问题,但没有回答您的问题,也许你真的应该读他写的东西,而不是仅仅发送一个通用的这不是我的answer@lad2025你不明白我上面说的话吗?我很肯定我理解这个问题。也许你应该从上面读一下我的陈述。orderbyrand(service\u id)
显示固定排序是什么意思?不,这也没有解决问题。@SandeshGupta问了你一些问题,没有回答你的问题,也许你真的应该读他写的东西,而不是仅仅发送一个通用的这不是我的answer@lad2025你不明白我上面说的话吗?我很肯定我理解这个问题。也许你应该看看我上面的陈述