mysql order by issue

前端 未结 5 1061
后悔当初
后悔当初 2021-01-06 09:57

if i have a query like :

SELECT * FROM table  WHERE id IN (3,6,1,8,9);

this array of the ids is build in php dynamically , and the order is

5条回答
  •  旧时难觅i
    2021-01-06 10:26

    You can order by a value derived from a column. You can use a CASE operator to specify the order:

    SELECT * FROM table
    WHERE id IN (3,6,1,8,9)
    ORDER BY CASE id WHEN 3 THEN 1
                     WHEN 6 THEN 2
                     WHEN 1 THEN 3
                     WHEN 8 THEN 4
                     WHEN 9 THEN 5
             END
    

提交回复
热议问题