我有一个包含所有信息的主表和一个结构几乎相同但值略有不同的表。现在我想比较一下这些值,得到最大的差值。我对每一列(a1-a5)进行了查询,在每个查询的循环中,我再次查询并对结果进行了一些计算……我不知道,这很混乱,我不知道如何以一种干净的方式得到它。
这是两个表的结构:
+----------+----------+--------+-----+-----+-----+-----+-----+--------------+
| HomeTeam | AwayTeam | Result | a1 | a2 | a3 | a4 | a5 | Date |
+----------+----------+--------+-----+-----+-----+-----+-----+--------------+
| team1 | team2 | H | 5 | 2 | 4 | 4 | 3 | 11-04-2017 |
| team3 | team4 | A | 6 | 8 | 4 | 2 | 6 | 11-04-2017 |
| team1 | team3 | D | 3 | 7 | 9 | 7 | 2 | 12-04-2017 |
| team4 | team2 | H | 2 | 4 | 8 | 6 | 5 | 12-04-2017 |
+----------+----------+--------+-----+-----+-----+-----+-----+--------------+
+----------+----------+-----+-----+-----+-----+-----+
| HomeTeam | AwayTeam | a1 | a2 | a3 | a4 | a5 |
+----------+----------+-----+-----+-----+-----+-----+
| team1 | team2 | 2 | 3 | 5 | 3 | 3 |
| team3 | team4 | 5 | 7 | 5 | 2 | 3 |
| team1 | team3 | 4 | 2 | 8 | 6 | 5 |
| team4 | team2 | 2 | 5 | 5 | 6 | 4 |
+----------+----------+-----+-----+-----+-----+-----+
这就是我想打印的内容:
team 1 vs team 2 biggest increase was 150% (a1 -> 5 vs 2) on 11-04-2017
team 3 vs team 4 biggest increase was 100% (a5 -> 6 vs 3) on 11-04-2017
team 1 vs team 3 biggest increase was 250% (a2 -> 7 vs 2) on 12-04-2017
team 4 vs team 2 biggest increase was 60% (a3 -> 8 vs 5) on 12-04-2017
当我输入这个的时候,我想也许只使用一个查询就可以从两个表中获取所有内容,并使用这些值进行一些计算?不确定…有人能在正确的方向上给我一个很大的帮助,教我怎么做吗?
1条答案
按热度按时间zpjtge221#
我们可以用
GREATEST
在这里可以找到每场比赛的最大价差:如果你想知道
a
值,那么就需要做更多的工作,特别是考虑到您的数据不是标准化的。您可能需要对数据进行规范化处理,以处理比上述更复杂的问题。