MySQL根据第一列对第二列和第三列进行排序

时间:2019-12-18 02:56:07

标签: mysql

我有一张表格,如下所示:

--------------------------------------------
|col1    |col2            |col3            |
--------------------------------------------
|123.com |/path/to/234.com|/path/to/456.com|
|234.com |/path/to/123.com|                |
|456.com |                |/path/to/789.com|
|789.com |                |                |
--------------------------------------------

是否可以基于colume1上的数据对colume2和colume3进行排序?

决赛桌应该像这样:

--------------------------------------------
|col1    |col2            |col3            |
--------------------------------------------
|123.com |/path/to/123.com|                |
|234.com |/path/to/234.com|                |
|456.com |                |/path/to/456.com| 
|789.com |                |/path/to/789.com|
--------------------------------------------

1 个答案:

答案 0 :(得分:1)

这不是排序问题。您需要自行加入表格才能重新排列行。

对于给定的示例,您可以在以下行中使用一些东西:

SELECT t1.col1,
       t2.col2,
       t3.col3
       FROM elbat t1
            LEFT JOIN elbat t2
                      ON t2.col2 LIKE concat('%', t1.col1)
            LEFT JOIN elbat t3
                      ON t2.col3 LIKE concat('%', t1.col1);

但是,如果行中的数据不属于同一类,那似乎更像是一个严重的设计问题。