Tôi có một truy vấn trả về trung bình (giá)
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
Làm thế nào để làm cho nó trả về 0 nếu không có giá trị nào?
from web_price_scan
là các lựa chọn riêng biệt; không chắc chắn những gì vấn đề ở đây?
having
mệnh đề không có group by
(mặc định cho một nhóm duy nhất). Nó hoạt động như một where
mệnh đề về kết quả tổng hợp. Trong trường hợp này, các hàng chỉ được trả về nếu hơn 5 hàng được trả về bởi truy vấn con cấp 1.