mysql - SQL 中以人类可读格式排序

标签 mysql sql sql-order-by

我在 mySql 数据库中有一些 IP 地址。我想通过 SQL ORDER BY 以升序模式对它们进行排序。但 SQL 以机器可读模式对它们进行排序,而我想以人类可读模式进行排序。

它按如下方式排列我的 IP:

91.99.102.209
91.99.102.213
91.99.102.233
91.99.102.33
91.99.102.37
91.99.102.53
91.99.102.69
91.99.102.9

但我想像下面这样排序:

91.99.102.9
91.99.102.33
91.99.102.37
91.99.102.53
91.99.102.69
91.99.102.209
91.99.102.213
91.99.102.233

我怎样才能做到这一点?

最佳答案

对于您的情况,这应该有效:

SELECT ip_addr_str
FROM mytable
ORDER BY inet_aton(ip_addr_str)

关于mysql - SQL 中以人类可读格式排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18941129/

相关文章:

php - AJAX 发布不工作,数据似乎没有通过

php - 如何触发mysql错误

mysql - MySQL 中何时使用单引号、双引号和反引号

sql - 父子层次结构,按名称排序

sql - 如何根据字母排序顺序设置 int 值

mysql - order by 子句如何在 mysql 中工作,排序显示奇怪的行为

mysql - 在 MySQL5 中添加复合外键失败

MySQL:-在单行中显示结果

sql - 将sql mobile数据与mysql服务器同步

c# - 动态扩展SQL语句-页面搜索