使用通配符按字段排序?

时间:2012-04-27 11:27:08

标签: mysql sql

基本上我有一个字段可以包含一些前缀字符串:

word1
bla2
ttt3
word4 
[...]

我需要先输入SQL,例如ttt3,然后输入所有其他字符串。
我试了这个没有运气

ORDER BY FIELD (myField,'ttt3',*)

有什么建议吗?

2 个答案:

答案 0 :(得分:6)

使用ORDER BY CASE构造。它强制为您要提取的值为0,为其他所有值强制为1,因此0先排序。它只是像任何列一样放入ORDER BY列表,以逗号分隔,因此您可以在之后添加其他排序列。

ORDER BY
  CASE WHEN myField = 'ttt3' THEN 0 ELSE 1 END,
  myField,
  other_order_col,
  other_order_col2

答案 1 :(得分:2)

ORDER BY myField = 'ttt3' DESC

或更多通用且与供应商无关:

ORDER BY CASE WHEN myField = 'ttt3' THEN 0 ELSE 1 END