【发布时间】:2017-09-03 13:48:38
【问题描述】:
我需要从所有学科的每个团队中选择前 3 名的总和。更好的分数=更多的分数。所以我可以显示比赛的一般分数。我尝试运行某事。像这样:
SELECT t.name,
(SELECT SUM(points) FROM (SELECT points
FROM scores
WHERE team = t.id
ORDER BY points DESC
LIMIT 3) points) sum
FROM teams t
但我得到错误:
Unknown column 't.id' in 'where clause'
以下是架构和数据的链接: http://sqlfiddle.com/#!9/ecc66b/20
请帮助我。我确信这个查询可以在 MsSQL 中工作,但我不得不使用 MySQL
【问题讨论】:
-
如果我没记错的话,您只能访问 1 级深的外部查询,并且您在更深的级别上使用它,因此会出现错误。
标签: mysql scope subquery sql-order-by limit