所以我需要找到人口最多的部落(名为 pleme 的表)。要得到它,我需要通过 pid(玩家 ID)组合以下 3 个表:naselje 和 igralec,因为我需要从 naselje 获取人口,并且通过使用 tid (tribe id) 将 igralec 与 pleme 连接起来获得部落的名称后。我写了以下内容,它运行良好:
select p.*, sum(n.population) as populacija
from naselje n, igralec i, pleme p
where n.pid = i.pid and i.tid = p.tid
group by tid
order by populacija desc
limit 1;
这里唯一的缺点是限制 1 查询,因为可能有多个具有相同值的列......必须有另一种方法来解决这个问题而不使用 LIMIT