Flapz Skrevet 29. november 2003 Del Skrevet 29. november 2003 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!! Lenke til kommentar
hajejan Skrevet 29. november 2003 Del Skrevet 29. november 2003 - Har du en liste med alle nickene i en separat tabell? - Er det ett entry per nick i tabellen din, eller har du flere? Lenke til kommentar
hajejan Skrevet 29. november 2003 Del Skrevet 29. november 2003 Om svaret er ja på første spørsmål, og nei på andre, er det jo lett: kjør en løkke som surrer gjennom alle nickene, og ha dette inni: $q = "SELECT avg(poengsum) WHERE nick = '$nick'"; Forresten: Hva er tabellkey i tabellen din? HJ Lenke til kommentar
Flapz Skrevet 29. november 2003 Forfatter Del Skrevet 29. november 2003 alle felter har varchar(20)! Det er ingen nøkkelfelter! Lenke til kommentar
Flapz Skrevet 29. november 2003 Forfatter Del Skrevet 29. november 2003 databasen består bare av resultat tabellen!! Lenke til kommentar
JackT Skrevet 29. november 2003 Del Skrevet 29. november 2003 SELECT (a.poengsum+b.poengsum)/2 FROM RESULTAT as b, RESULTAT as a WHERE a.nick='JallerTraller' AND a.nick = b.nick AND a.spillnavn='poker' AND b.spillnavn='backgammon' Dersom den skal være dynamisk, bruker du f.eks. en for-løkke i PHP for å bygge opp spørringen. Lenke til kommentar
Flapz Skrevet 30. november 2003 Forfatter Del Skrevet 30. november 2003 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 Lenke til kommentar
Neo Skrevet 30. november 2003 Del Skrevet 30. november 2003 Siden du skal hente ut så mye gjennomsnitt av alt, hvorfor ikke bare hente ut gjennomsnittet til hver spiller og legge dem i en hash med gjennomsnittet som nøkkelverdi? Så kan du bare kjøre en 'sort keys'-kommando og printe ut de 2 høyeste/minste/midterste/den 6. beste osv, osv... Lenke til kommentar
Torbjørn Skrevet 1. desember 2003 Del Skrevet 1. desember 2003 for det første ville jeg satt inn tall der det skal være det, og ikke varchar. alter table dilldall modify column poengsum int unsigned; alter table dilldall modify column tid int datetime; alter table dilldall modify column plassering int unsigned; Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå