如何根据索引将两行连接成单行

时间:2018-02-08 05:08:05

标签: mysql

我在我的选择查询中有不同的年份。现在我想把第一年和第二年连成一排,依此类推。怎么做到这一点?

这就是我所拥有的

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用自联接解决此问题。连接条件是第一个表的年份比第二个表的年份少一个。这种方法很好地处理了起始年份和结束年份仅在一侧匹配的边缘情况。

SELECT
CONCAT(CAST(t1.year AS CHAR(4)), '-', CAST(t2.year AS CHAR(4))) AS year
FROM yourTable t1
INNER JOIN yourTable t2
    ON t2.year = t1.year + 1;

    year
1   2015-2016
2   2016-2017
3   2017-2018

Demo