使用oracle live sql尝试显示"排名"视图, 使用中的两个表是 MATCH 和 TEAM 所以每次比赛。WIN_TEAM = 显示为计数的团队的 ID
我想我的计数功能有问题。我知道我可以很容易地拉到哪里
所以它会是 TEAM_NAME胜
这只是拉起团队,子查询不起作用。 我走在正确的轨道上吗?
select A.TEAM, B.W
from TEAM A
left join
(
select MATCH.WIN_TEAM,
Count(MATCH.WIN_TEAM) as W
from MATCH
group by MATCH.WIN_TEAM
) B
on A.ID = B.WIN_TEAM
order by B.W desc;
我是新手,哈尔普。我猜我也需要别名?
select TEAM.NAME ,copy_match.count_match
from TEAM
left join (select MATCH.WIN_TEAM as WIN_TEAM,
Count(MATCH.WIN_TEAM) AS count_match
from MATCH
group by MATCH.WIN_TEAM
) copy_match
on TEAM.ID=copy_match.WIN_TEAM;
即使从技术上讲,它有效,我认为您的查询过于复杂
select TEAM.NAME ,COUNT(MATCH.WIN_TEAM)
from TEAM
left join
MATCH ON TEAM.ID=MATCH.WIN_TEAM
GROUP BY TEAM.NAME
ORDER BY COUNT(MATCH.WIN_TEAM)
这个版本不是更容易一点吗? 或者也许我错过了一个细节