2015-07-21 66 views
0

我有一個聯盟球員的模式,看起來像下面的模式。SQL中的最大數量

Player (playerid integer, mentorid integer, leagueid integer, pay integer) 
League (leagueid integer, leaguename text) 

我想找到有球員和解決方案的最大數量應當考慮的場景,有玩家最大數量的結果,卻應該有超過一個聯賽聯賽 - leaguename,玩家數量由leaguename.How排序我明白嗎?

+1

數據庫使用? –

+5

這是你要求人們爲你做的功課嗎? –

+0

我有同樣的感覺^^ – Worldgorger

回答

1
with x as (
select l.leaguename, count(distinct p.playerid) as player_count 
from player p join league l on p.leagueid = l.leagueid 
group by l.leaguename) 
, y as (select max(player_count) player_count from x) 
select x.leaguename, y.player_count 
from x join y on x.player_count = y.player_count 
order by x.leaguename 
1

你可以試試這個:

select leaguename, player_count from League l,(
select leagueid, count(leagueid) as player_count from Player 
group by leagueid having count(leagueid) >= All (select count(leagueid) from Player group by leagueid)) t 
where l.leagueid = t.leagueid 
order by leaguename