Mysql查询问题,返回错误的SUM

时间:2013-10-10 07:57:38

标签: mysql sql

请帮我解决这个问题..看起来很简单,但请阅读以下内容: 查询:

select SUM(price) 
from prices_adverts 
where advert_id="1" 
  and room_type_id="2" 
  and (date >= "2013-10-10" 
  AND date <"2013-10-13") 
order by price    

此查询检查上述日期之间的酒店房间价格。在这种情况下,为期2天 - 2013-10-102013-10-11。我已在2013-10-10 - 34 euro和价格2013-10-11 - 0.00euro的数据库价格中设置。

如果期间中的1天价格为0.00,我如何使查询返回0.00价格?

我使用此0.00值稍后显示房间不可用于特定日期..现在此查询返回eur 34作为总和,这是仅2013年10月1日的价格因为第二天房间不可用..

我希望您了解问题的性质

1 个答案:

答案 0 :(得分:5)

select if(min(price)=0, 0, SUM(price) )
from prices_adverts 
where advert_id="1" 
  and room_type_id="2" 
  and (date >= "2013-10-10" 
  AND date <"2013-10-13") 
order by price 
相关问题