在MySQL中的列上自定义顺序

时间:2016-07-24 05:54:28

标签: mysql vb.net

我想选择3个特定记录,其余的应该是随机的。

EX:

Database:Records

1
2
3
4
5
6
7
8
9
10

我想选择 2,5,8

2 个答案:

答案 0 :(得分:0)

为什么不创建2个不同的查询并合并结果?

答案 1 :(得分:0)

您可以在CASE WHENFIND_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;

WORKING DEMO