MySQL - 将两列拆分为两个不同的行

时间:2018-01-03 06:10:11

标签: mysql sql concat

如果这是一个愚蠢的问题,我不知道如何制造这个抱歉。

我有一个表两个团队和总监视,我稍后会在不同的地方使用这些信息,所以我的想法将这两列列在一列但两行不同:

HomeTeam      AwayTeam     Totalwatch 
A              B              100
A              C               90
C              A               80
D              B               70
C              E               50

我可以吗

Teams          TotalWatch
A                100
B                100
A                 90
C                 90
C                 80
A                 80
D                 70
B                 70
C                 50
E                 50

我有几列,所以他们也会重复。

我只知道如何concat单行使用concat函数我不知道如何使用两行

3 个答案:

答案 0 :(得分:9)

您可以使用UNION ALLORDER BY Totalwatch DESC来根据Totalwatch订购结果。

SELECT HomeTeam AS Teams, Totalwatch  FROM YourTable
UNION ALL
SELECT AwayTeam, Totalwatch FROM YourTable
ORDER BY Totalwatch DESC;

答案 1 :(得分:2)

只需使用UNION ALL

SELECT * 
FROM(
    SELECT HomeTeam Teams,TotalWatch FROM Your_Table
    UNION ALL
    SELECT AwayTeam,TotalWatch FROM Your_Table
    )D
ORDER BY TotalWatch DESC

答案 2 :(得分:2)

试试这个兄弟.. :)

SELECT HomeTeam,Totalwatch
FROM   YourTable

UNION ALL

SELECT AwayTeam,Totalwatch
FROM   YourTable