MySQL - 将两列分成两个不同的行
Posted
技术标签:
【中文标题】MySQL - 将两列分成两个不同的行【英文标题】:MySQL - Split two columns into two different rows 【发布时间】: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
函数一起使用我不知道如何在两行中使用
【问题讨论】:
【参考方案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 ALL
和ORDER 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
【讨论】:
以上是关于MySQL - 将两列分成两个不同的行的主要内容,如果未能解决你的问题,请参考以下文章