【发布时间】:2019-10-07 12:40:07
【问题描述】:
全部成交
-
这是正确的代码
SELECT MAX(inflation_rate) AS max_inf FROM ( SELECT name, continent, inflation_rate FROM countries INNER JOIN economies USING (code) WHERE year = 2015) AS subquery GROUP BY continent; -
这是错误的代码
SELECT MAX(subquery.economies.inflation_rate) AS max_inf FROM (SELECT countries.name, countries.continent, economies.inflation_rate FROM countries INNER JOIN economies ON countries.code = economies.code WHERE economies.year = 2015) AS subquery GROUP BY subquery.countries.continent;
为什么不允许第二个?
【问题讨论】:
-
请用您正在使用的 DBMS 标记问题。 SQL Server 还是 PostgreSQL?
-
你为什么要在这里使用子查询呢?这只是基本的聚合。
-
子查询中的表名在它之外是不可见的。这是设计使然。
-
如果帖子包含的信息不足,我深表歉意。下次我会做的正确,谢谢大家:)
标签: sql sql-server database postgresql subquery