sql小技巧(1) order by field

在工作中,遇到了一个需求,需要通过where in $condition查询, 然后查询出来的结果又需要按照$condition来排序。

此时就可以用到order by field来进行排序了。

例子

这里我以id为条件做举例。

当不排序的时候

SELECT
	`id`,
	`name` 
FROM
	rb_robot 
WHERE
	id IN ( 51, 50, 49 ) 

此时返回的结果:

id name
49 三号
50 四号
51 五号

当排序的时候

SELECT
	`id`,
	`name` 
FROM
	rb_robot 
WHERE
	id IN ( 51, 50, 49 ) 
ORDER BY
	FIELD( id, 51, 50, 49 )

此时返回的结果:

id name
51 五号
50 四号
49 三号