如何在MySQL中对域名进行排序?

要对域名进行排序,请使用ORDER BY SUBSTRING_INDEX()。让我们首先创建一个表-

mysql> create table DemoTable670(DomainName text);

使用insert命令在表中插入一些记录。在这里,我们要插入域名-

mysql> insert into DemoTable670 values('www.facebook.com');
mysql> insert into DemoTable670 values('www.google.com');
mysql> insert into DemoTable670 values('www.amazon.com');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable670;

这将产生以下输出-

+------------------+
| DomainName       |
+------------------+
| www.facebook.com |
| www.google.com   |
| www.amazon.com   |
+------------------+
3 rows in set (0.00 sec)

以下是对MySQL中的域进行排序的查询-

mysql> select *from DemoTable670 order by SUBSTRING_INDEX(DomainName, '.', -2),SUBSTRING_INDEX(DomainName, '.', 2);

这将产生以下输出-

+------------------+
| DomainName       |
+------------------+
| www.amazon.com   |
| www.facebook.com |
| www.google.com   |
+------------------+
3 rows in set (0.00 sec)