Ämne: SQL group by
Visa ett inlägg
Oläst 2008-09-25, 09:08 #1
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Jag har en tabell innehållandes lopp som går runtom i Sverige (västsverige mestadels, faktiskt) och en tabell innehållandes mina resultat.

Jag har försökt att filtrera ut så att jag bara får ut de tiderna jag haft bäst (minst tid) på 10KM och gruppera på år för att få ut årsbästa.

Så här skrev jag:
Kod:
SELECT MIN(`r`.`time`), `e`.`name`, `e`.`length`, `e`.`date` 
`myDate`, YEAR(`e`.`date`) `myYear` FROM `results` `r` 
INNER JOIN `events` `e` ON `e`.`ID`= `r`.`eventID` 
WHERE `r`.`userID`=1 AND `e`.`length`=10 
GROUP BY YEAR(`e`.`date`)
ORDER BY `myYear` ASC, `r`.`time` ASC
Tiderna som kommer ut stämmer, men inte loppen som tiderna skall vara knutna till.

Kod:
MIN(`r`.`time`) name  length myDate myYear
00:41:45 Sylvesterloppet 10.0 2004-12-31 2004
00:42:58 Göteborg Cross Country 10.0 2005-04-09 2005
00:40:54 Göteborgs Cross Country 10.0 2006-04-29 2006
00:42:00 Blodomloppet Göteborg 10.0 2007-05-30 2007
00:40:48 Lerumsloppet 	10.0 2008-04-26 2008


Så här skall resultatet bli (jag har själv tagit ut dessa rader manuellt)
Kod:
time 	name 	length myDate myYear
00:41:45 Sylvesterloppet 10.0 2004-12-31 2004
00:42:58 Lerumsloppet 	10.0 2005-04-23 2005
00:40:54 Blodomloppet Göteborg 10.0 2006-05-31 2006
00:42:00 Sylvesterloppet 10.0 2007-12-31 2007
00:40:48 Blodomloppet Göteborg 10.0 2008-05-28 2008

Någon som har en idé vad det kan vara som är galet?

Det är MySQL5 som körs.
allstars är inte uppkopplad   Svara med citatSvara med citat