我想知道如何按照先问的顺序做请求。
的例子:
SELECT name from user WHERE (guid = '6131bb732f6eec946e2121d1dc616019' OR guid = '62fdb8ecb0d5b7444f55aeba23fd606c' OR guid = 'f19fd7262163573abcf585d94fa74857')
我希望结果不按id或其他任何东西排序,而是与6131*结果,然后62f*,然后f19fd*
有办法吗?
SELECT name
from user
WHERE guid = '6131bb732f6eec946e2121d1dc616019'
OR guid = '62fdb8ecb0d5b7444f55aeba23fd606c'
OR guid = 'f19fd7262163573abcf585d94fa74857'
order by case when guid = '6131bb732f6eec946e2121d1dc616019' then 1
when guid = '62fdb8ecb0d5b7444f55aeba23fd606c' then 2
when guid = 'f19fd7262163573abcf585d94fa74857' then 3
end
或
SELECT name
from user
WHERE guid in ('6131bb732f6eec946e2121d1dc616019', '62fdb8ecb0d5b7444f55aeba23fd606c', 'f19fd7262163573abcf585d94fa74857')
order by field(guid, '6131bb732f6eec946e2121d1dc616019', '62fdb8ecb0d5b7444f55aeba23fd606c', 'f19fd7262163573abcf585d94fa74857')