【发布时间】:2011-09-06 09:59:05
【问题描述】:
我有两张表,分别是 type(type,playerid) 和 player(playerid,date) 我必须找出每年有多少人赢得了哪种类型的球员的比赛奖项?
例如表格应该是这样的
year type noofawards
2011 batsmen 3
2011 bowler 5
2010 batsmen 2
我可以获得每年获得的奖项总数,但不能按类型区分它们,所以我得到的是
year noofawards
2011 3
select year , count(year) as "Number of awards"
from
(
select to_char(p.date,'YYYY') as year
from player p, type t
where p.playerid = t.playerid
)
group by year
order by year;
我该怎么办?
【问题讨论】:
-
type(type,playerid) and player(playerid,date) ... 那么我们从哪里找到比赛记录的人呢?
-
您可以按(或“隔离”)多个字段进行分组。探索“分组依据”语法选项。
-
很抱歉得到的奖项数量我们要统计投球手、击球手等的数量
-
这里缺少的是奖项表本身。您有一个玩家类型表和一个玩家/年份表。基于所提供信息的聚合为您提供了您每年拥有的不同类型的玩家。 (也许我读得太深了。)