7

0多くの場合、並べ替えは、またはのように上に並べ替えられた記号を使用して行われ*ます&。これは、mysqlがソートするデフォルトの方法です。数字と記号、そしてAZ。ただし、これにより、最も醜い、または最も不適切な形式の結果が一番上に表示されます(たとえば、またはの結果@#$@3423)。8 inch&amp

それで、私はその修正された形式を実行したいと思います。最初にAZの文字、次に特殊文字が最後になります。

そのような種類の並べ替えを作成するにはどうすればよいですか?ORDER BY条項に何かありますか?

4

3 に答える 3

8

このページへのグーグルキャッシュリンクに基づく: http ://www.google.com/url?sa = t&source = web&cd = 3&ved = 0CCUQFjAC&url = http%3A%2F%2Fblog.feedmarker.com%2F2006%2F02%2F01 %2Fhow-to-do-natural-alpha-numeric-sort-in-mysql%2F&ei = Zg2_TZyKDaffiALjjqwo&usg = AFQjCNGS-rX7AmfrumXK8J7bVSj96bSSmQ

編集:元のリンクは無効です。これは、最初のリンクよりも実際に何が起こっているかを説明する別のリンクです。

http://matthewturland.com/2008/11/05/natural-ordering-in-mysql/

あなたはこれを試すかもしれません

SELECT names FROM your_table ORDER BY names + 0 ASC
于 2011-05-02T20:02:47.800 に答える
6
Select ...
From ...
Order By Case When Col Like '[0-9]%' Then 1 Else 0 End Asc
    , Col

特殊文字を説明する別のソリューション:

Select ...
From ...
Order By Case When Col Like '[A-Z]%' Then 0 Else 1 End Asc
    , Col
于 2011-05-02T20:01:07.143 に答える
0

これは私のために働きます:

SELECT * FROM `yourTable` ORDER BY `yourDatabase`.`yourColumn`  ASC
于 2013-01-22T17:17:24.220 に答える