我使用通过这个 StackOverflow 问题找到的这个 MySQL 文档页面构建了以下查询。
它给了我我想要的东西:每个 personkey 一个记录,以及那个人参与的最大(最近)matchkey。
但我不明白“s1”和“s2”的用途,也不明白 FROM 行中使用的结构(而且因为我不知道它叫什么,所以很难搜索它。)这个查询实际上发生了什么?
SELECT personforeignkey, matchforeignkey
FROM peoplematchesheroes s1
WHERE matchforeignkey = (SELECT MAX(s2.matchforeignkey)
FROM peoplematchesheroes s2
WHERE s1.personforeignkey = s2.personforeignkey)
注意:我知道这个查询效率低下,但我想在尝试优化之前了解相关子查询的构造。