Kzq*_*qai 7 mysql sql-order-by alphabetical-sort
通常情况下,排序与分类到顶部,像符号做0或*或&.这是mysql排序的默认方式; 数字和符号然后AZ.然而,这使得经常最丑或最严重格式的结果浮到顶部(例如,结果@#$@3423或8 inch或&).
所以我想做一个修改过的形式,首先是字母AZ,然后是特殊字符.
我将如何创建这种类型的排序?ORDER BY条款中的东西?
基于此页面的google-cached链接:http://www.google.com/url? sa = t&source = web&cd = 3&ed = 0CCUQFjAC&url = http% 3A %% 2F%2Fblog.feedmarker.com%2F2006%2F02%
2F01 %2Fhow到DO-自然字母数字排序合的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
Run Code Online (Sandbox Code Playgroud)
Select ...
From ...
Order By Case When Col Like '[0-9]%' Then 1 Else 0 End Asc
, Col
Run Code Online (Sandbox Code Playgroud)
另一个解释特殊字符的解决方案:
Select ...
From ...
Order By Case When Col Like '[A-Z]%' Then 0 Else 1 End Asc
, Col
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20769 次 |
| 最近记录: |