【问题标题】:MySQL - Split two columns into two different rowsMySQL - 将两列分成两个不同的行
【发布时间】:2018-06-12 19:33:10
【问题描述】:

如果这是一个愚蠢的问题,我不知道要创建这个抱歉。

我有一张桌子,两支球队和总观看,稍后我将在不同的地方使用此信息,所以我的想法将这两列合并为一列但两行不同:

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 函数一起使用我不知道如何在两行中使用

【问题讨论】:

    标签: mysql sql concat


    【解决方案1】:

    只需使用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】:

      您可以使用UNION ALLORDER BY Totalwatch DESC 来获得按照Totalwatch 排序的结果。

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

      【讨论】:

        【解决方案3】:

        试试这个兄弟.. :)

        SELECT HomeTeam,Totalwatch
        FROM   YourTable
        
        UNION ALL
        
        SELECT AwayTeam,Totalwatch
        FROM   YourTable
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-04-18
          • 2016-03-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-07
          • 1970-01-01
          相关资源
          最近更新 更多