上代码
查询某张表中多批物资的库存数,并且要求库存数>0SELECT operation_warehouse,mat_id,mat_num,specification_type,mat_type,unit,sum(stock_num) as tt,sum(balance_num),sum(occupy_num)FROM `ws_mat_stock`GROUP BY operation_warehouse,mat_id,mat_num,specification_type,mat_type,unitHAVING sum(stock_num)>0
一开的是时候是用的where作的查询条件,但是会报错,表示不知道where条件这一列,不存在;
后来看到说? having 查询条件是在分后之后进行的条件设置
测试成功。
?
Where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用“聚合函数”;
“Having”是一个过滤声明,所谓过滤是在查询便宜香港vps数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用“聚合函数”。
?
having和where 能够同时使用
From->Where->Group By->Having->Select
Where语句是过滤符合条件的数据。
Having是对Group By的结果进行过滤。
48623354