Gå til innhold

Finne maksverdi av mysql-fetch


Anbefalte innlegg

Hei,

 

sett at jeg har fetchet data via enten mysql_fetch_object eller mysql_fetch_array, hvordan kan jeg finne ut hva den høyeste verdien for $f->mengde eller $f['mengde']? Jeg prøvde max(), men fikk opp "Wrong parameter count for max()". Først prøvde jeg å bruke MySQL, men jeg vil finne ut den høyeste verdien for "SUM(`p`) AS pSum":

SELECT 	`m`,
COUNT(`id`) AS tNum,
SUM(`p`) AS pSum,
SUM(`l`) AS lSum,
MAX(`tNum`) AS tMax, 
MAX(`pSum`) AS pMax,
MAX(`lSum`) AS lMax
FROM mytbl.lol
WHERE `y`=2010
GROUP BY `m`
ORDER by `m` ASC

Dette gikk ikke, så jeg er vel nødt til å bruke PHP til å finne denne verdien. Det jeg lurer på, er altså hvordan jeg på den mest effektive måten, kan løse dette.

Lenke til kommentar
Videoannonse
Annonse

Er ingen grunn til å gjøre dette med PHP da du først måtte ha sendt verdiene til et array og for deretter å loope det for å finne det høyeste tallet. Er ingen databaseekspert, men jeg tror grunnen til at det ikke fungerer i koden din er fordi du prøver å finne maks verdien av ett enkelt tall. Hvis du ser på hva du har skrevet, så ser du at du først teller opp id, summerer p og l og setter disse tre verdiene som tNum, pSum og lSum som består kun av én verdi.

 

Prøv dette istedet:

 

SELECT  `m`,
COUNT(`id`) AS tNum,
SUM(`p`) AS pSum,
SUM(`l`) AS lSum,
MAX(`id`) AS tMax, 
MAX(`p`) AS pMax,
MAX(`l`) AS lMax
FROM mytbl.lol
WHERE `y`=2010
GROUP BY `m`
ORDER by `m` ASC

Endret av Feh
Lenke til kommentar

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...