在MySQL中实现ORDER BY以人类可读格式对记录进行排序?
为此,请在MySQL中使用INET_ATON()。假设我们的记录采用IP地址的形式。INET_ATON()方法将允许用户将IP地址记录转换为数字,然后我们可以使用ORDERBY对其进行排序。
让我们首先创建一个表-
mysql> create table DemoTable -> ( -> IpAddress varchar(50) -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values('192.168.110.78'); mysql> insert into DemoTable values('192.168.110.87'); mysql> insert into DemoTable values('192.168.110.75');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+----------------+ | IpAdress | +----------------+ | 192.168.110.78 | | 192.168.110.87 | | 192.168.110.75 | +----------------+ 3 rows in set (0.00 sec)
这是按IP地址记录排序的查询-
mysql> select *from DemoTable -> order by inet_aton(IpAddress);
这将产生以下输出-
+----------------+ | IpAddress | +----------------+ | 192.168.110.75 | | 192.168.110.78 | | 192.168.110.87 | +----------------+ 3 rows in set (0.00 sec)