与子查询的自连接问题;想知道下面两个查询的区别
Issue with self join with a sub query;wanted to know the difference of 2 queries below
这个工作:
SELECT a.year, a.name, a.runs
from players a JOIN
(SELECT year, max(runs) runs FROM players GROUP BY year
) b
ON (a.year = b.year AND a.runs = b.runs);
这不起作用:
select a.name,b.year,b.run
from players a join
(select year, max(runs) as run, name from players group by year
) b
on a.year = b.year AND a.runs = b.run;
有人能帮我理解一下吗?
第二个 Join 查询没有正确分组
(select year, max(runs) as run, name from players group by year
) b
因为你 select 也命名你应该按
分组
(select year, max(runs) as run, name from players group by year, name
) b
但这会给你不同的结果
这个工作:
SELECT a.year, a.name, a.runs
from players a JOIN
(SELECT year, max(runs) runs FROM players GROUP BY year
) b
ON (a.year = b.year AND a.runs = b.runs);
这不起作用:
select a.name,b.year,b.run
from players a join
(select year, max(runs) as run, name from players group by year
) b
on a.year = b.year AND a.runs = b.run;
有人能帮我理解一下吗?
第二个 Join 查询没有正确分组
(select year, max(runs) as run, name from players group by year
) b
因为你 select 也命名你应该按
分组 (select year, max(runs) as run, name from players group by year, name
) b
但这会给你不同的结果