Avatar billede rane Nybegynder
29. februar 2004 - 21:39 Der er 6 kommentarer og
1 løsning

SQL beregning

Hejsa,

jeg har en tabel i en database der ser ca. således ud:

ID | EventType | HoldID | RundeNr | Minut |
--------------------------------------------
1 |  gult    |  101  |    2    |  23  |
2 |  roedt  |  109  |    2    |  34  | 
3 |  gult    |  102  |    2    |  55  |
4 |  gult    |  116  |    2    |  66  |
5 |  roedt  |  103  |    2    |  77  |
..osv
..osv

gult og roedt =  gule kort og røde kort i en fodboldkamp

Nu vil jeg så lave en beregning der går på:
- hvert gult kort giver 1 point
- hvert rødt kort giver 2.5 points

Efter en runde skal jeg så beregne hvilket HoldID der har scoret flest points.  (dvs. et hold der fik 2 røde kort og 1 gult..får flere points end et hold der fik 2 gule kort og 1 rødt)

Der skal vel laves en GROUP BY men det er lidt tricky for mig.

Hvordan får jeg beregnet og udtrukket det hold, der har været mest bisset i 2. runde?
Avatar billede erikjacobsen Ekspert
29. februar 2004 - 22:27 #1
Du laver en tabel

gult | 1
roedt | 2.5

joiner den på din oprindelige, laver group by med en sum(...), og sikkert en order by
Avatar billede rane Nybegynder
29. februar 2004 - 23:34 #2
tænkte nok, der skulle en form for join til. dem er jeg sgi ikke så skrap til endnu. må se om jeg ikke kan finde nogen gode tutorials og eksempler.
Avatar billede erikjacobsen Ekspert
29. februar 2004 - 23:45 #3
Nåh, jeg troede bare du skulle have lidt inspiration. Hvis din tabel hedder `kort` og min hedder `score`,
med attributter farve,antal, så er det noget i retning af

select sum(antal) as bissescore from kort,score where kort.EventType=score.farve and
RundeNr=23 group by HoldId order by bissescore desc

/* utestet */
Avatar billede erikjacobsen Ekspert
29. februar 2004 - 23:46 #4
Du skal nok have holdet med

select HoldId,sum(antal) as bissescore from kort,score where kort.EventType=score.farve and
RundeNr=23 group by HoldId order by bissescore desc
Avatar billede rane Nybegynder
02. marts 2004 - 14:49 #5
Jeps så fik jeg omsider skidtet til at virke vha. din sql :)  Smid lige et svar
Avatar billede erikjacobsen Ekspert
02. marts 2004 - 15:08 #6
Det lyder godt. Var der noget der skulle laves om?

Jeg samler ikke på point. Svar selv - accepter eget svar.
Avatar billede rane Nybegynder
03. marts 2004 - 15:56 #7
Nææ ikke meget der skulle laves om. Skulle seføli lige tilpasses mine tabel-feltnavne (antal) osv. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester