一个表footballplayer
Create Table footballplayer (
Name Varchar2(100),
dates Date,
numb Number(10)
);
name表示运动员的姓名
dates表示得分时间
numb表示得分数
Insert Into footballplayer Values('langhua',TO_DATE('2010-03-15 12:12:00','yyyy-mm-dd HH24:mi:ss'),30);
Insert Into footballplayer Values('langhua',TO_DATE('2010-03-15 13:12:00','yyyy-mm-dd HH24:mi:ss'),20);
Insert Into footballplayer Values('langhua2',TO_DATE('2010-03-15 08:12:00','yyyy-mm-dd HH24:mi:ss'),23);
Insert Into footballplayer Values('langhua2',TO_DATE('2010-03-15 12:12:00','yyyy-mm-dd HH24:mi:ss'),24);
Insert Into footballplayer Values('langhua3',TO_DATE('2010-03-15 16:12:00','yyyy-mm-dd HH24:mi:ss'),18);
Insert Into footballplayer Values('langhua3',TO_DATE('2010-03-15 17:12:00','yyyy-mm-dd HH24:mi:ss'),35);
Insert Into footballplayer Values('langhua3',TO_DATE('2010-03-15 18:12:00','yyyy-mm-dd HH24:mi:ss'),24);
现在要算出运动员最早得分超过20的时间和得分数(格式是运动员的名字,最早得分时间,得分数)
我是写出来了,但是大家谁一句就写的出来的SQL啊
[code="sql"]Select f.name,f.dates,max(f.numb) From footballplayer f Where (f.name,f.dates) In (
select t.Name,Min(t.dates) abc from footballplayer t
Where t.numb > 20
Group By t.Name
) Group By f.name,f.dates;[/code]