Mysql 按与IN语句相同的顺序排列查询结果
我有以下疑问Mysql 按与IN语句相同的顺序排列查询结果,mysql,Mysql,我有以下疑问 SELECT * FROM campaigns where campaign_id IN ( 'idStrOne', 'idStrTwo', 'idStrThree' ); 其结果由表活动的主键“id”排序。这不是我要的订单 我希望返回的结果与in函数的参数的顺序相同。所以在这种情况下,我想要的顺序是 idStrOne, idStrTwo, idStrThree 如何获取此顺序?您可以尝试在ORDERBY子句中添加大小写表达式 SELECT * FROM campaigns
SELECT * FROM campaigns where campaign_id IN ( 'idStrOne', 'idStrTwo', 'idStrThree' );
其结果由表活动的主键“id”排序。这不是我要的订单
我希望返回的结果与in函数的参数的顺序相同。所以在这种情况下,我想要的顺序是
idStrOne, idStrTwo, idStrThree
如何获取此顺序?您可以尝试在ORDERBY子句中添加大小写表达式
SELECT *
FROM campaigns
WHERE campaign_id IN ( 'idStrOne', 'idStrTwo', 'idStrThree' )
ORDER BY
(CASE campaign_id WHEN 'idStrOne' THEN 1 WHEN 'idStrTwo' THEN 2 ELSE 3 END);
+我喜欢订单中的案例陈述。一直使用它,如此宝贵的工具!