[MySQL/PHP] Meerdere SUM() queries in 1?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Ik ben bezig met een redelijke simpele MySQL-pagina voor bij ons thuis, waar uhisgenoten hun boodschappen kunneninvullen en dan wordt berekend wie voorloopt e.d.

Nu heb ik een dus een tabel met daarin de namen (Koper) en het bedrag dat ze uitgegeven hebben (Prijs) en natuurlijk de maand waarin het gekocht is (Month).
Als ik een overzicht wil maken wil ik graag uit 1 query kunnen halen hoeveel iedereen betaald heeft en het totaal dat betaald is en dat in een array in PHP stoppen....hoe doe ik dat in hemelsnaam? Ik krijg het totaal wel voor elkaar, maar die anderen erin verwerken lukt me gewoon niet. Ik wil niet 4 queries gaan doen voor zoiets (op het eerste gezicht) simpels.

Ik heb voor het totale bedrag nu dit:
SELECT SUM(Prijs) AS Totaal FROM huisrekening WHERE Date=$Date

Die stop ik in een mysql_query() en een mysql_fetch_array en dan krijg ik zoiets als $totaal['Totaal], maar ik wil dus ook gewoon in de array $totaal de totalen van elke persoon apart van die maand hebben :)
Weet iemand hoe dit moet, want op google kan ik gewoon niet de goeie keywords verzinnen om mijn probleem te omschrijven...... |:(

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

GROUP BY naam oid?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Staat alles in 1 tabel?

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Ja..alles staat in 1 tabel.
Ik heb nog niet zo heel veel MySQL ervaring, dus er zijn aardig wat handige commando's die ik nog niet ken. Waarschijnlijk is hier gewoon een enorm handige oplossing voor.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

Verwijderd

SELECT Koper, SUM(Prijs) AS Totaal FROM huisrekening GROUP BY Koper WHERE Date=$Date

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
ah :) merci...dat is het inderdaad. Bedankt!
Moet dat AS Totaal erbij?

[ Voor 24% gewijzigd door armageddon_2k1 op 06-10-2004 14:18 ]

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

Verwijderd

Anders maakt ie er waarschijnlijk een eigen naam bij, in access heet het veld dan SumvanPrijs niet echt handig

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Dat is o.a. voor als je daarna weer refereert naar die kolom, bijvoorbeeld bij een
PHP:
1
while($row = mysql_fetch_row($resultset)) { echo $row['Totaal']; }

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 06 oktober 2004 @ 14:17:
SELECT Koper, SUM(Prijs) AS Totaal FROM huisrekening GROUP BY Koper WHERE Date=$Date
Het is gebruikelijk GROUP BY achter WHERE te zetten, maar niet verplicht.
armageddon_2k1 schreef op 06 oktober 2004 @ 14:17:
ah :) merci...dat is het inderdaad. Bedankt!
Moet dat AS Totaal erbij?
Nee, maar anders moet je de som aanspreken met $resultaat["SUM(Prijs)"], en nu kan je gewoon de alias aanspreken: $resultaat["totaal"].

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Verwijderd schreef op 06 oktober 2004 @ 14:21:
Het is gebruikelijk GROUP BY achter WHERE te zetten, maar niet verplicht.
Volgens mij is het wel degelijk verplicht om group by achter de eventueel aanwezige where-clause te zetten in SQL.
Nee, maar anders moet je de som aanspreken met $resultaat["SUM(Prijs)"], en nu kan je gewoon de alias aanspreken: $resultaat["totaal"].
Nog iets betere uitleg is dat er dan geen vaste naam is. MySQL noemt het SUM(Prijs), PostgreSQL noemt het SUM en anderen zullen het wel weer anders noemen. Met de alias voorkom je dat, wat zeker handig (en sowieso netter) is als je nog wel eens wisselt van DB.

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
ACM schreef op 06 oktober 2004 @ 14:53:
[...]

Volgens mij is het wel degelijk verplicht om group by achter de eventueel aanwezige where-clause te zetten in SQL.
Jup...want ik kreeg errors op de andere manier :)

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

Verwijderd

had het statement even in access geprobeerd, ging even om het idee
.. misschien toch niet zo'n goed idee 8)7
Pagina: 1