订购结果以匹配WHERE IN表达式中的值顺序

Aar*_*Lim 13 mysql sql

有没有办法可以通过WHERE命令中的命令让mysql从成员数据库返回结果?

SELECT * 
FROM Members 
WHERE MemberID = "6" 
OR MemberId="3" 
OR MemberID="5"
Run Code Online (Sandbox Code Playgroud)

目前它将返回由MemberID ASC订购的结果,无论我做什么.我希望它以6,3,5返回,即按我要求的顺序返回.

Mch*_*chl 33

SELECT 
  * 
FROM 
  Members 
WHERE 
  MemberID IN ("6","3","5")
ORDER BY 
  FIELD(MemberID,"6","3","5");
Run Code Online (Sandbox Code Playgroud)


ADW*_*ADW 16

Select * from Members
WHERE MemberID = "6" or MemberId="3" or MemberID="5"
ORDER BY MemberID = "6" DESC, MemberId="3" DESC, MemberID="5" DESC;
Run Code Online (Sandbox Code Playgroud)


San*_*hal 5

尝试这个:

SELECT * FROM Members
ORDER BY CASE MemberId
    WHEN 6 THEN 1
    WHEN 3 THEN 2
    WHEN 5 THEN 3
    ELSE 999
END
Run Code Online (Sandbox Code Playgroud)