Tôi có một truy vấn mà trả trung bình (giá)PostgreSQL trở về 0 nếu giá trị trả về là null
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ị có sẵn?
Bạn có chắc chắn rằng bạn đang truy vấn được định dạng đúng không? –
@LucM: Nó không thể là một truy vấn đúng ngữ pháp. ("có" khoản mà không có một "nhóm theo" khoản.) –
tất cả mọi thứ làm việc tốt, ngoại trừ đôi khi, khi các quy tắc không được đáp ứng, nó không trả lại bất cứ điều gì. Ngoài ra, làm thế nào tôi có thể gorup trung bình, tôi không nghĩ rằng nó là có thể || whats điểm? Nhiều lựa chọn 'từ web_price_scan' là các lựa chọn riêng biệt; không chắc vấn đề ở đây là gì? – Andrew