J'ai une requête qui renvoie avg (prix)
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
comment le faire retourner 0 si aucune valeur n'est disponible?
from web_price_scan
sont des sélections distinctes; ne sais pas quel est le problème ici?
having
clause sans a group by
(qui par défaut est un seul groupe). Il agit comme une where
clause sur les résultats agrégés. Dans ce cas, les lignes ne sont renvoyées que si plus de 5 lignes sont renvoyées par la sous-requête de 1er niveau.