Avatar billede jokerper Nybegynder
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.
Avatar billede majbom Novice
23. juli 2010 - 15:53 #1
SELECT pris*antal AS total FROM tabel GROUP BY sessionid
Avatar billede mike1963 Nybegynder
23. juli 2010 - 16:18 #2
splazz: mangler der ikke en sessionid ?

SELECT sessionid, pris*antal AS total FROM tabel GROUP BY sessionid
Avatar billede jokerper Nybegynder
23. juli 2010 - 16:25 #3
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.
Avatar billede jokerper Nybegynder
23. juli 2010 - 16:27 #4
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.-
Avatar billede jokerper Nybegynder
23. juli 2010 - 16:44 #5
$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.-
Avatar billede majbom Novice
23. juli 2010 - 18:40 #6
hmm, det giver jo ikke så meget mening...

du er sikker på at antal er mere end 1?
Avatar billede jokerper Nybegynder
23. juli 2010 - 22:01 #7
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
Avatar billede majbom Novice
23. juli 2010 - 23:18 #8
okay, det andet virker fint hos mig...
Avatar billede majbom Novice
04. november 2010 - 14:22 #9
husk at lukke spørgsmålet :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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