sql语句中聚合函数使用的有关问题
sql语句中聚合函数使用的问题
诸位:
我用以下语句,搜寻“余额”>0的数据老出错,帮帮忙呗。问题出在where子句上,不用where子句通过。
select sum(金额) as 余额 from bzj where 余额> 0
------解决方案--------------------
哦,是我rp有问题,没看清楚,不好意思哈 :(
这句查询结果,只有一笔数据,如果结果>0,本身就是这笔数据,若<0,就没结果了,如下面:
select * from (select sum(金额) as 余额 from bzj) as t where 余额>0
所以再过滤就没有意义了,直接在前台使用就行了
------解决方案--------------------
分组应该这样:
select id,sum(金额) as 余额 from bzj group by id having sum(金额)>0
------解决方案--------------------
------解决方案--------------------
select sum(金额) as 余额 from bzj where 金额> 0
这样查询效率会高点,结果跟他们上面的一样
诸位:
我用以下语句,搜寻“余额”>0的数据老出错,帮帮忙呗。问题出在where子句上,不用where子句通过。
select sum(金额) as 余额 from bzj where 余额> 0
------解决方案--------------------
哦,是我rp有问题,没看清楚,不好意思哈 :(
这句查询结果,只有一笔数据,如果结果>0,本身就是这笔数据,若<0,就没结果了,如下面:
select * from (select sum(金额) as 余额 from bzj) as t where 余额>0
所以再过滤就没有意义了,直接在前台使用就行了
------解决方案--------------------
分组应该这样:
select id,sum(金额) as 余额 from bzj group by id having sum(金额)>0
------解决方案--------------------
------解决方案--------------------
select sum(金额) as 余额 from bzj where 金额> 0
这样查询效率会高点,结果跟他们上面的一样