gpt4 book ai didi

mysql - 将简单的选择结果转换为二维转置表

转载 作者:行者123 更新时间:2023-11-29 15:55:19 25 4
gpt4 key购买 nike

我有一个联赛的网球比赛结果表。只有三列:Player1、Player2 和 MatchResult。

根据球员主场或客场的天气,将球员列在 A 列或 B 列中。如果列在 A 栏,则为主场球员,如果列在 B 栏,则为客场球员。例如,名为 G 的玩家有时会出现在 A 列中,有时会出现在 B 列中。

匹配结果可以由两部分或三部分组成,以逗号分隔。第一部分用于第 1 盘,第二部分用于第 2 盘,可选的第三部分用于第 3 盘。每盘的每个结果首先列出主队球员,然后是分号和客队球员。

如果我们采用附图中的第一个示例,则解释如下:名为 F 的玩家 1 输掉了与名为 B 的玩家 2 的比赛,具体方式如下:- 选手 B 以 6:2 赢得第一盘- 选手 F 以 6:3 赢得第二盘- 选手 B 赢得第三盘 13:11

enter image description here

我想将表格转换为 2D 格式,如所附图像所示。也就是说,每个玩家姓名将首先列在 X 和 Y 表轴上,并且每个结果必须两次适合正确的表单元格。一次作为主/客队球员的站立视角,并且也是客场/主队球员的站立视角(红色文字颜色)。

enter image description here

MySQL 选择查询必须是什么样子才能达到这个结果?

最佳答案

您可以考虑构建一个大型数据透视表,如下所示:

SELECT
Player1,
MAX(CASE WHEN Player2 = 'A' THEN MatchResult END) AS A,
MAX(CASE WHEN Player2 = 'B' THEN MatchResult END) AS B,
MAX(CASE WHEN Player2 = 'C' THEN MatchResult END) AS C,
...,
MAX(CASE WHEN Player2 = 'Z' THEN MatchResult END) AS Z
FROM yourTable
GROUP BY Player1
ORDER BY Player1;

关于mysql - 将简单的选择结果转换为二维转置表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com