Toon posts:

[MySQL] Calculate field

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik heb een query die de percentages berekend van de totalen van een dag.
code:
1
select id, sum(uit), sum(in), sum(uit)/sum(in) from table group by id,datum;

dit werkt goed, als ik er nog een stukje "where datum = "2003-8-21" bij voeg, krijg ik het alleen van vandaag.

Maar, nu wil ik alleen de regels ophalen die onder de 100% zitten
code:
1
select id, sum(uit), sum(in), sum(uit)/sum(in) from table where sum(uit)/sum(in) < 1  group by id,datum;

Dit geeft alleen deze error : "ERROR 1111: Invalid use of group function"

als ik van het percentage een alias maak, kan ik er mooi op sorteren maar kan ik het niet in de where clause opnemen
code:
1
select id, sum(uit), sum(in), sum(uit)/sum(in) as p from table where p < 1  group by id,datum;

Dit geeft weer deze error : "ERROR 1054: Unknown column 'p' in 'where clause'"
Quotes om de p heen zetten heeft ook geen zin.

Weet iemand hoe ik dit op moet lossen?

Verwijderd

misschien moet je wat meer haakjes gebruiken

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Kijk es naar HAVING sum(in)/sum(uit) < 1

(misschien mag je ook p gebruiken, maar kan zijn dat mysql datniet leuk vindt)

Verwijderd

Topicstarter
hartstikke bedankt ACM,
code:
1
select id, sum(uit), sum(in), sum(uit)/sum(in) as p from table group by id,datum having p < 1;

werkt !!