Gå til innhold

Anbefalte innlegg

Skrevet

Har en database i mysql som følger:

 

RESULTAT:

spill_navn

poengsum

nick

tid

plassering

 

Problemer er:

Jeg skal finne gjennomsnitt poengsum til hver nick i 2 eller flere valgte spill!!

 

Hvordan blir sql spørringen?

 

Håper på raske svar grunnet tidspress!!

Videoannonse
Annonse
Skrevet

Noe slikt kanskje. Har dog ikke hatt tid til å teste det.

 

SELECT AVG(poeng_sum) FROM resultat WHERE spill_navn IN('val1','val2',.....);

Skrevet

ok!

Takk for hjelp!

 

Er det noen som veit om det går an å få ut annen form enn dette:

4534.4000

når man skriver avg(poengsum)???????

Skrevet

Tenker du på muligheten til å runde av tallet?

 

SELECT ROUND(AVG(poeng_sum)) FROM resultat WHERE spill_navn IN('val1','val2',.....);

for å runde av til nærmeste hele tall,

 

eller

 

SELECT ROUND(AVG(poeng_sum),[antall desimalplasser]) FROM resultat WHERE spill_navn IN('val1','val2',.....);

 

for å runde av til et gitt antall desimaler.

Skrevet

Ok! takk for all hjelp så langt!

 

Det har derimot dukket opp en ting til som følger:

 

Jeg skal finne:

max gjennomsnitt poengsum for 2 eller flere valgte spill

minste gjennomsnitt poengsum for 2 eller flere valgte spill

 

Har prøvd forskjellige ting, men er ingen kløpper i mysql!!

Skrevet

Altså jeg skal finne høyeste av dette i en spørring:

 

SELECT avg(poengsum)

FROM resultat

WHERE spill_navn in('Sjakk','Bridge','Tic-tac-toe')

group by nick

Skrevet

Vel.. tingen her hadde vel vært sub-query's... men tror ikke MySQL støtter det.

Kommer an på versjonen.

 

En mulig løsning.. som ikke er _spesielt_ elegant :

 

CREATE TEMPORARY TABLE average_scores SELECT AVG(poengum) AS average, nick FROM scores WHERE spill_navn in ('Sjakk','Bridge');

SELECT MAX(average) FROM average_scores;

og

SELECT MIN(average) FROM average_scores;

Skrevet

Er jo ikke noe problem da. Bare å bruke ORDER BY ROUND(AVG(poeng_sum)) ASC LIMIT 0,1 og ORDER BY ROUND(AVG(poeng_sum)) DESC LIMIT 0,1

 

Gitt at du bruker spørringen til b-urn da. :)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...