Avatar billede jensborgbjerg Nybegynder
16. marts 2005 - 14:50 Der er 6 kommentarer

Finde højeste score i tabel - hvordan?

Hej Eksperter

Jeg ville høre om, der er en her, der kan kan hælpe mig med følgende problemstilling:

Jeg har en tabel med følgende felter
id, player1Score, player2Score, player3Score, player4Score

Tabellen gemmer data for hvert spil spillet af et lille webbaseret spil.

Jeg ønsker at lave en top 10 over de højeste scorere og det vil sige, at jeg skal kunne lave en sql kommando, der gemmegår hver entry i tabellen og kigger på både player1Score, player2Score, player3Score og player4Score.

Er der en, der kan skrive sql kommandoen for denne query?

Venlige hilsner

Jens
Avatar billede barklund Nybegynder
16. marts 2005 - 14:57 #1
Er det ikke bare:

SELECT (player1Score + player2Score + player3Score + player4Score) AS score ... ORDER BY score DESC

Skulle jeg mene.
Avatar billede jensborgbjerg Nybegynder
16. marts 2005 - 16:12 #2
Nej - for det jeg leder efter er en metode der kan bestemme rækkefølgen af de individuelle scores - dvs. hvis tabellen indeholder følgende records

  id  p1  P2  P3  P4 
  1  10  20  30  40
  2    1  2  3  4

Ja så skal "score"-recordsættet indeholde [1,2,3,4,10,20,30,40] - kan I hjælpe mig med det?
Avatar billede barklund Nybegynder
16. marts 2005 - 16:18 #3
Niks - det er jeg meget overbevist om, at man ikke kan - men jeg ville nu også bare lave en ekstra tabel, hvor du hver gang du indsatte folks score i den ene tabel også proppede den over i den anden - det kunne bare være id,nummer,score, så hvis du havde:

id  p1  P2  P3  P4
  1  10  20  30  40
  2    1  2  3  4

Så havde du i den anden:

id nummer score
1      1    10
1      2    20
1      3    30
1      4    40
2      1    1
2      2    2
2      3    3
2      4    4

If ya know ;)

Det er lidt redundant - men meget mere oplagt til dit formål :)

--
Morten Barklund
Avatar billede arne_v Ekspert
16. marts 2005 - 19:03 #4
(SELECT p1 AS p FROM tabel)
UNION
(SELECT p2 AS p FROM tabel)
UNION
(SELECT p3 AS p FROM tabel)
UNION
(SELECT p4 AS p FROM tabel)
ORDER BY p LIMIT 10

bør gøre det
Avatar billede arne_v Ekspert
16. marts 2005 - 19:03 #5
Forudsætter MySQL 4.0 eller 4.1
Avatar billede arne_v Ekspert
10. april 2005 - 17:46 #6
jens>

Kommet videre ?
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
Computerworld tilbyder specialiserede kurser i database-management

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