我的问题的简化版本。我有 2 张桌子:
分数:
id code_id score
1 11 100
2 12 20
3 13 40
4 14 70
5 15 90
6 16 10
7 17 30
8 18 50
代码:
id code
11
12
13
14
15
16 BBB
17 BBB
18 BBB
我需要生成一个 Mysql SELECT 查询,该查询将返回 Scores 表中在 Codes 表中没有关联代码的所有行,以及在 Codes 表中具有相同代码的行中的最高分数。
所需的输出如下所示。分数 ID 的 1-5 存在,因为它们没有关联代码,但仅选择了 ID 8,因为它是具有 BBB 代码的所有分数中的最高值。
id code_id score
1 11 100
2 12 20
3 13 40
4 14 70
5 15 90
8 18 50
我希望这是有道理的。我认为这将是一件容易的事,但它让我感到困惑。我已经检查了 [greatest-n-per-group] 标记问题的负载,并且大多数似乎在执行 GROUP BY 和子选择时只引用一个表并且没有帮助。
非常感谢。