ORDER BY id基于IN内的id

rus*_*sly 3 mysql sql

如何根据IN内的id对ORDER BY进行排序

SELECT * 
FROM mall 
WHERE mall_id IN (3331083,33310110,3331080,33310107,33310119,3331410) 
      AND mall_status='1' LIMIT 50 
Run Code Online (Sandbox Code Playgroud)

结果应该是:

  1. 3331083
  2. 33310110
  3. 3331080 ....

Alm*_* Do 6

你需要FIELD功能:

SELECT * FROM mall 
WHERE mall_id IN (3331083,33310110,3331080,33310107,33310119,3331410) 
  AND mall_status='1' 
ORDER BY 
  FIELD(mail_id, 3331083,33310110,3331080,33310107,33310119,3331410) 
LIMIT 50 
Run Code Online (Sandbox Code Playgroud)