Ich habe eine Abfrage, die avg (Preis) zurückgibt.
select avg(price)
from(
select *, cume_dist() OVER (ORDER BY price desc) from web_price_scan
where listing_Type='AARM'
and u_kbalikepartnumbers_id = 1000307
and (EXTRACT(Day FROM (Now()-dateEnded)))*24 < 48
and price>( select avg(price)* 0.50
from(select *, cume_dist() OVER (ORDER BY price desc)
from web_price_scan
where listing_Type='AARM'
and u_kbalikepartnumbers_id = 1000307
and (EXTRACT(Day FROM (Now()-dateEnded)))*24 < 48
)g
where cume_dist < 0.50
)
and price<( select avg(price)*2
from( select *, cume_dist() OVER (ORDER BY price desc)
from web_price_scan
where listing_Type='AARM'
and u_kbalikepartnumbers_id = 1000307
and (EXTRACT(Day FROM (Now()-dateEnded)))*24 < 48
)d
where cume_dist < 0.50)
)s
having count(*) > 5
Wie kann man 0 zurückgeben, wenn kein Wert verfügbar ist?
from web_price_scan
ist eine separate Auswahl. nicht sicher, was das Problem hier ist?
having
Klausel ohne a zu verwenden group by
(standardmäßig eine einzelne Gruppe). Es fungiert als where
Klausel für aggregierte Ergebnisse. In diesem Fall werden die Zeilen nur zurückgegeben, wenn mehr als 5 Zeilen von der Unterabfrage der ersten Ebene zurückgegeben werden.