mysql - 按字母顺序对 MySQL 结果排序,但数字排在最后

标签 mysql sql-order-by alphabetical-sort

通常,排序是通过将符号排序到顶部来完成的,例如 0*&。这是mysql默认的排序方式;数字和符号,然后是 A-Z。然而,这使得通常最丑陋或格式最糟糕的结果浮到顶部(例如 @#$@34238 inch&).

所以我想对其进行修改,先是字母 A-Z,然后是特殊字符。

我将如何创建这种类型的排序? ORDER BY 子句中有什么?

最佳答案

基于此页面的 google 缓存链接: 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

关于mysql - 按字母顺序对 MySQL 结果排序,但数字排在最后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5861852/

相关文章:

java - 使用 ORDER BY 和 UNION 的 ORACLE 查询

node.js - Sequelize - 按关联计数排序

sorting - 在 Golang 中,如何在不完全忽略大小写的情况下按字母顺序对字符串列表进行排序?

ruby - 如何忽略大小写按字母顺序排列数组?

php - 如果图像数组为空,则显示替代图像

mysql - 按日期分组的多个计数

php - 如何使用带有 ORDER BY 子句的查询结果?

python - 如何对字符串和 int 值数组、按字母顺序和 "reversed"字母顺序的多个属性进行排序

mysql - 将 MySQL SELECT 中的日期格式化为 ISO 8601

php - 如何从传递给 php 查询请求的 jquery 获取 VAR