关于mysql:mysql-order-by-field

116次阅读

共计 469 个字符,预计需要花费 2 分钟才能阅读完成。

如何保障查问的字段与条件里字段程序一样呢?有如下数据表

customer_id cert_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 里的值统一了。

正文完
 0