CREATE TABLE games
(
idg serial NOT NULL,
nation character(3),
points integer,
datag date,
CONSTRAINT pk_games PRIMARY KEY (idg)
)
idg nation points dateg
1 ita 12 2011-10-10
2 fra 9 2011-10-11
3 ita 4 2011-10-12
4 fra 8 2011-10-11
5 ger 12 2011-10-12
6 aut 6 2011-10-10
7 ita 11 2011-10-17
8 ita 10 2011-10-18
9 fra 9 2011-10-19
10 ger 15 2011-10-19
11 fra 16 2011-10-18
我想显示按星期分组的最大三个总计。我明白我不能使用MAX(SUM(点),所以我做了一个查询:返回Postgresql中每组(每周排名前3位)的前三个结果
select extract(week from datag) as "dateg", nation, sum(points) as "total"
from games
group by dateg, nation
order by dateg asc, total desc limit 3
但这些回报我只是前三合计怎样才能使之成为每星期(前三总数?在每个组,这将通过一种 “每周前3”)的任何IDEEA
提前9
由于在PostgreSQL工作
哪个版本您使用的?如果你运行的是8.4+,那么比使用8.3或更早的版本要容易得多。 –
“PostgreSQL 9.0.4,由Visual C++编译1500,64位” – alinux