MySQL中的in查询,如何按期望的顺序排序?

已邀请:

zkbhj - 凯冰科技站长

赞同来自:

mysql使用in查询,按照期望的顺序输出结果,可以使用field函数。
SELECT  
ProvinceId,
ProvinceName
FROM
btoc_province
WHERE
ProvinceName IN ('河南', '辽宁', '山西')
ORDER BY
FIELD(
provincename,
'河南',
'辽宁',
'山西'
);
样例:
mysql> select * from driver_log order by field(name,'Suzi','Ben','Henry');  

--结果


+--------+-------+------------+-------+

| rec_id | name | trav_date | miles |

+--------+-------+------------+-------+

| 2 | Suzi | 2006-08-29 | 391 |

| 7 | Suzi | 2006-09-02 | 502 |

| 1 | Ben | 2006-08-30 | 152 |

| 9 | Ben | 2006-09-02 | 79 |

| 5 | Ben | 2006-08-29 | 131 |

| 8 | Henry | 2006-09-01 | 197 |

| 6 | Henry | 2006-08-26 | 115 |

| 4 | Henry | 2006-08-27 | 96 |

| 3 | Henry | 2006-08-29 | 300 |

| 10 | Henry | 2006-08-30 | 203 |

+--------+-------+------------+-------+

要回复问题请先登录注册