如何在Oracle Developer中使用Count函数

时间:2010-11-10 06:36:14

标签: sql oracle

好的,所以我正在完成我的作业,并且无法让Count功能正常工作。

我应该使用“一个查询列出所有拥有4个以上球员的球队(在球员表中)。包括team_id,team_name和球队的球员数量。”

这只是一个简单的NHL数据库,我们的老师弥补了这项任务。团队数据库中有18个团队,玩家数据库中有74个团队。

这就是我现在所写的:

SELECT teams.team_id, teams.team_name, COUNT(players.team_id) AS PlayerCount 
FROM teams, players
GROUP BY teams.team_id, teams.team_name
HAVING COUNT(players.team_id) > 4;

当我跑步时,这是我得到的输出:

TEAM_ID TEAM_NAME                           PLAYERCOUNT            
------- ----------------------------------- ---------------------- 
TBL     Tampa Bay Lightening                74                     
BOS     Bostong Bruins                      74                     
SJS     San Jose Sharks                     74                     
NYI     New York Islanders                  74                     
MIN     Minnesota Wild                      74                     
DET     Detroit Red Wings                   74                     
NYR     New York Rangers                    74                     
PHL     Philadelphia Flyers                 74                     
BUF     Buffalo Bruins                      74                     
PIT     Pittsburgh Penguins                 74                     
DAL     Dallas Stars                        74                     
VAN     Vancouver Canucks                   74                     
WSH     Washington Capitals                 74                     
COL     Colorado Avalanche                  74                     
TOR     Toronto Maple Leafs                 74                     
CLB     Columbus Blue Jackets               74                     
CHI     Chicago Blackhawks                  74                     
ATL     Atlanta Thrashers                   74                     

18 rows selected

我知道修复可能非常简单,但我在教科书中找不到任何类似的内容,而我获得的Google结果要么与我想做的事情不同或更复杂。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

你正在表之间进行笛卡尔联接。

SELECT teams.team_id, teams.team_name, COUNT(*) AS PlayerCount 
FROM teams, players
WHERE teams.team_id = players.team_id
GROUP BY teams.team_id, teams.team_name
HAVING COUNT(*) > 4;