如何保证查询的字段与条件里字段顺序一样呢?有如下数据表

customer_idcert_no
65776
78666
23322
87889

需要根据会员号补充对应的证件号,sql很简单:

select x.customer_id,x.cer_no from customer x 
 where x.customer_id in('65776','78666','23322','87889');

我们知道mysql并不会保证查询的结果与条件in里保持一致而是按值的字典顺序进行排列,如果值不多手动匹配倒也无妨,如果数据很多的时候如何做到一致呢,可以使用order by field,也就是这样:

select x.customer_id,x.cer_no from customer x 
 where x.customer_id in('65776','78666','23322','87889')
 order by field("customer_id",'65776','78666','23322','87889');

这样查询结果里的customer_id的值就会与条件in里的值一致了。


步履不停
38 声望13 粉丝

好走的都是下坡路