我想选择3个特定记录,其余的应该是随机的。
EX:
Database:Records
1
2
3
4
5
6
7
8
9
10
我想选择
2,5,8
。
答案 0 :(得分:0)
为什么不创建2个不同的查询并合并结果?
答案 1 :(得分:0)
您可以在CASE WHEN
和FIND_IN_SET
SELECT
*
FROM table_jess
ORDER BY
CASE WHEN FIND_IN_SET(id,'2,5,8') > 0 THEN 0 ELSE id END,id
请检查 WORKING DEMO
编辑:
如果您想要其他条目的随机结果,请使用以下查询:
SELECT
*
FROM table_jess
ORDER BY
CASE WHEN FIND_IN_SET(id,'8,2,5') > 0 THEN 0 ELSE RAND() END,id;