SELECT * FROM xxxx WHERE `id` IN (688,686) ORDER BYINSTR('688,686', `id`)
后来一查,发现 INSTR 这方法的功能还不只是排序。
INSTR(str,substr)
返回子串substr在字符串str中的第一个出现的位置。这与有2个参数形式的LOCATE()相同,除了参数被颠倒。
mysql> select INSTR('foobarbar','bar');
mysql> select INSTR('xbar','foobar');
使用最多的,其实就是用in做排序了。