我將有一個固定的項目列表來排序,我不會知道,直到我運行查詢,因爲有一個隨機化步驟。mysql按固定列表排序
我想有類似以下內容:
假設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,但不是很確定。
我將有一個固定的項目列表來排序,我不會知道,直到我運行查詢,因爲有一個隨機化步驟。mysql按固定列表排序
我想有類似以下內容:
假設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
可能重複:[MySQL的排序名單的一些(HTTP://計算器.com/questions/6810793 /),雖然這一個吸引了更徹底的答案。 –