[英]in sum, use case to compare incoming value with another column (MYSQL)
[英]MySQL sum column and compare it to a given value
我需要从DB显示一组可用房间的结果,其条件是:
然后我像这样编写mySQL:
select sum(villas_allotment.alm_num) as sum_num,
villas_allotment.alm_id as aid, villas_db.v_name as vname
from villas_allotment
inner join villas_db on villas_allotment.alm_vid=villas_db.v_id
where alm_num='1'
and alm_date between '2012-11-26' and '2012-11-29'
and alm_vid='3'
and sum_num>='3'
但我有:
#1054 - Unknown column 'sum_num' in 'where clause'
那么你们可以建议我如何从这个错误中生存下来。 问候,
您需要在聚合列上使用HAVING
条件:
select
sum(villas_allotment.alm_num) as sum_num,
villas_allotment.alm_id as aid,
villas_db.v_name as vname
from villas_allotment
inner join villas_db on villas_allotment.alm_vid = villas_db.v_id
where alm_num = '1'
and alm_date between '2012-11-26' and '2012-11-29'
and alm_vid = '3'
group by villas_allotment.alm_id, villas_db.v_name
having sum(villas_allotment.alm_num) >= 3
您还需要在非聚合列上使用group by
子句,我已为您添加了这些列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.