2011-10-19 46 views
2

我需要根据开始字母对查询进行排序[order by]。Mysql按开头字母排序

Ex。, 将会有一个标题栏。

我需要根据字母'e'进行排序。

需要的结果是,字母'e'开头的字段应该先出现,其余结果应该在之后出现。

回答

4
...ORDER BY CASE WHEN LEFT(title, 1) = 'e' THEN 1 ELSE 2 END, 
      title 
+0

精湛...感谢ü乔... – sathish

+0

@sathish很高兴提供帮助。请点击旁边的复选标记,将此答案标记为“已接受”。 –

+0

嗨乔,现在我需要根据指定的顺序进行排序,例如,以'e'开头的字母应该是第一个,然后是'r',然后是's'...你能帮助我吗... – sathish

0
ORDER BY (SUBSTR(LOWER(title), 1, 1)='e') 
+0

你的解决方案不完整,你应该在最后通过ASC或DESC对结果进行排序。 –

+0

该要求不在问题中。 “其余结果”并不意味着是否应该排序。 – ceejayoz

+0

但是字母'e'开头的字段没有排序就没有先出现。 –