mysql - 在 MySQL 中对域进行排序

标签 mysql

我在 MySQL 数据库中有一个域和子域列表,如下所示:

abc.com
contactus.def.com 
pages.abc.com
help.about.abc.com
def.com

我希望 SELECT 查询根据域名对这些域和子域进行排序,最终输出如下:

abc.com
pages.abc.com
help.about.abc.com
def.com
contactus.def.com 

我怎样才能做到这一点?请帮助我。

最佳答案

您需要使用带有分隔符“.”的 substring_index 从“结束到开始”和“从开始到结束”执行排序。并计数 occurenses=2 http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index例如:

SELECT * FROM `table` order by  SUBSTRING_INDEX(`fieldname`, '.', -2),SUBSTRING_INDEX(`fieldname`, '.', 2);

SQL fiddle :http://sqlfiddle.com/#!2/ac8c61/1

关于mysql - 在 MySQL 中对域进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279070/

相关文章:

mysql - 将 ` 与 ( 组合时,正则表达式的行为会令人困惑

mysql - 如何在 MySQL 中查看数据库或表的索引?

java - 哪个是从 MySQL DB 生成 Hibernate 映射的最佳工具

mysql - 一张MySql表可以使用Google云Sql中的两个实例吗

MySQL INSERT 在 Ubuntu 上逐渐变慢,但在 Windows 上却没有

php - 如何将 pentaho 报告集成到 php 网页发送参数以选择某些数据?

mysql - 如何优化这个 MySQL 查询? (交叉连接、子查询)

php - 搜索海量数据库时的速度

c# - C# 中的 Mysql 查询

mysql - 如何将巨大的MyISAM表分块导出到InnoDB?