23. juli 2010 - 14:37
Der er
8 kommentarer og 1 løsning
Php mysql "group by" mv.
Hej Eksperter Jeg har et lille problem, med tal, sum og priser ved mit udtræk fra DB. DB opbygning: sessionid Pris antal Det jeg ønsker er at få udregning således: Group BY sessionid Pris * antal Mit problem består i at gange med antallet. Hvis der mangler lidt info, så spørg bare.
Annonceindlæg fra Computerworld it-jobbank
SELECT pris*antal AS total FROM tabel GROUP BY sessionid
splazz: mangler der ikke en sessionid ? SELECT sessionid, pris*antal AS total FROM tabel GROUP BY sessionid
Hej splazz jeg ved du kan - derfor prøver jeg lige at skrive igen. sessionid pris antal fb41ab22fc83098a8abcabab89e9d477 400 1 fb41ab22fc83098a8abcabab89e9d477 400 1 fb41ab22fc83098a8abcabab89e9d477 400 3 fb41ab22fc83098a8abcabab89e9d477 400 1 fb41ab22fc83098a8abcabab89e9d488 200 1 fb41ab22fc83098a8abcabab89e9d488 200 4 Vil gerne have resultat sådan her: sessionid antal pris fb41ab22fc83098a8abcabab89e9d477 6 2400.- fb41ab22fc83098a8abcabab89e9d488 5 1000.- Hvordan får jeg den til det? Jeg har prøvet det du skrev, men kunne ikke få det til at spille.
fb41ab22fc83098a8abcabab89e9d477 400 1 fb41ab22fc83098a8abcabab89e9d477 500 1 fb41ab22fc83098a8abcabab89e9d477 800 3 fb41ab22fc83098a8abcabab89e9d477 400 1 fb41ab22fc83098a8abcabab89e9d488 500 1 fb41ab22fc83098a8abcabab89e9d488 200 4 Vil gerne have resultat sådan her: sessionid antal pris fb41ab22fc83098a8abcabab89e9d477 6 3700.- fb41ab22fc83098a8abcabab89e9d488 5 1300.-
$sql = mysql_query("SELECT sessionid, pris*antal AS total FROM ordrer GROUP BY sessionid"); while($row = mysql_fetch_array($sql)){ echo $row['sessionid']. " " .$row['total']."<br />"; } Resultat: e13e98040b3b64772da64b4abf24c9 299 e13e98040b3b64772da64b4abf24c998 499 fb41ab22fc83098a8abcabab89e9d477 400 Skulle have været: e13e98040b3b64772da64b4abf24c9 299 * 3 = 897.- e13e98040b3b64772da64b4abf24c998 499 * 6 = 2.994.- fb41ab22fc83098a8abcabab89e9d477 400 * 4 = 1.600.-
hmm, det giver jo ikke så meget mening... du er sikker på at antal er mere end 1?
Jeg fik den til at virke sådan her, i hvert fald indtil videre. SELECT *, SUM(pris*antal) as total FROM ordrer WHERE ordrer_id = 'id' GROUP BY sessionid
okay, det andet virker fint hos mig...
04. november 2010 - 14:22
#9
husk at lukke spørgsmålet :)
Vi tilbyder markedets bedste kurser inden for webudvikling