我将要有一个固定的项目清单,直到有一个随机化步骤,我才能运行查询直到执行该查询为止。
我想要以下内容:
假设is_launch_set将返回1,3,7,11,但已被随机分配到以下位置:
select * from items where is_launch_set=1 order by id values (3,11,7,1);
关于如何实现这一目标的任何想法?我在想也许是一个find_in_set,但不是很确定。
您可以使用以下任一方法来做到这一点:
ORDER BY FIND_IN_SET(id, '3,11,7,1')
要么
ORDER BY FIELD(id, 3, 11, 7, 1)
ORDER BY CASE id WHEN 3 THEN 0 WHEN 11 THEN 1 WHEN 7 THEN 2 WHEN 1 THEN 3 ELSE 4 END