我有一个小型数据库,其中包含高中足球比赛分数,用户可以在其中输入分数。
我需要找到每个季度末的最终分数
给定数据,我对如何执行此操作有些困惑:
评分表
create table FINAL_score
( scoreID varchar2(10) primary key,
gameID varchar2(5) REFERENCES FINAL_game(gameID),
userID varchar2(5) REFERENCES FINAL_user(userID),
curtime timestamp,
qtr number(1),
hscore number(2) not null,
ascore number(2) not null);
insert into FINAL_score values ('s001', 'g001', 'u001', '10-DEC-12 02:10:00', 1, 7, 3);
insert into FINAL_score values ('s002', 'g001', 'u002', '10-DEC-12 02:12:00', 1, 7, 3);
insert into FINAL_score values ('s003', 'g001', 'u001', '10-DEC-12 02:15:00', 1, 7, 10);
insert into FINAL_score values ('s004', 'g001', 'u002', '10-DEC-12 02:28:00', 2, 14, 13);
insert into FINAL_score values ('s005', 'g001', 'u001', '10-DEC-12 02:30:00', 2, 14, 16);
insert into FINAL_score values ('s006', 'g001', 'u001', '10-DEC-12 02:55:00', 3, 14, 19);
insert into FINAL_score values ('s007', 'g001', 'u002', '10-DEC-12 02:57:00', 3, 14, 16);
insert into FINAL_score values ('s008', 'g001', 'u001', '10-DEC-12 03:15:00', 4, 17, 26);
insert into FINAL_score values ('s009', 'g001', 'u002', '10-DEC-12 03:30:00', 4, 20, 29);
我在想我需要使用子查询,但是我只是不知道如何实现它
select hscore, ascore
from FINAL_score
where (....)
任何帮助将不胜感激,谢谢
最佳答案
实际上,分数在整个游戏中是单调增加的(它们只会增加而不是减少)。因此,您可以采取捷径并执行以下操作:
select gameid, qtr, max(hscore), max(ascore)
from final_score
group by gameid
关于mysql - 选择4组并按时间字段排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13849393/