Where Abfrage mit aggegat

Hallo zusammen,
möchte eine Abfrage eingrenzen auf das Ergebnis einer Berechnung.
Folgendes habe ich versucht … geht aber nicht:

SELECT artikel, seite, max(date(r_date)), max(r_date), int4(1000000/float8((sum(sj)+sum(parts)))*sum(fehler)) as dpmo_value, to_char(max(r_date), 'DY') 
FROM aoi_auswertung 
WHERE 
	EXTRACT(week FROM r_date) = EXTRACT(WEEK FROM date'2014-04-22') 
	AND EXTRACT(year FROM r_date) = EXTRACT(YEAR FROM date'2014-04-22') 
	AND loetproz='REFLOW' 
	AND prod_art='SER' 
	AND (int4(1000000/float8((sum(sj)+sum(parts)))*sum(fehler))) < 2000
GROUP by artikel, seite ORDER by max(r_date)

Fehler:

ERROR:  aggregates not allowed in WHERE clause
********** Fehler **********

ERROR: aggregates not allowed in WHERE clause
SQL Status:42803

Wie kann ich so eine Abfrage lösen?

Danke schon mal

Gruß
Andreas

Ein Fall für Having?

What ? :slight_smile:

Danke für den Tipp:

SELECT artikel, seite, max(date(r_date)), max(r_date), int4(1000000/float8((sum(sj)+sum(parts)))*sum(fehler)) as dpmo_value, to_char(max(r_date), 'DY') 
FROM aoi_auswertung 
WHERE 
	EXTRACT(week FROM r_date) = EXTRACT(WEEK FROM date'2014-04-22') 
	AND EXTRACT(year FROM r_date) = EXTRACT(YEAR FROM date'2014-04-22') 
	AND loetproz='REFLOW' 
	AND prod_art='SER' 
GROUP by artikel, seite
HAVING (int4(1000000/float8((sum(sj)+sum(parts)))*sum(fehler))) < 2000
 ORDER by max(r_date)

geht:)