读书人

avg求平均值解决方法

发布时间: 2013-06-19 10:26:41 作者: rapoo

avg求平均值
数据库中有五行数据
分别是:

1
2
3
0
0
如何只针对非零求平均数
[解决办法]
avg(isnull(字段,0))
[解决办法]


create table tb1
(id int)
insert into tb1 values(1),(2),(3),(0),(0)

select cast(AVG(id)as decimal(18,2)) from tb1 where id<>0

[解决办法]

select avg([字段]) from [表名] where [字段]<>0

[解决办法]
如果没有负值的话,直接avg就行
[解决办法]
WHERE 字段 <> 0
[解决办法]
仅仅针对这个例子的话,直接AVG即可,如果有负数,那就要在where中先过滤。0不影响你的平均值,但是如果你是要算别的列的其他值,那这个0会有影响
[解决办法]

select avg(num) from t6 where num<>0

[解决办法]
把0过滤掉吧

读书人网 >SQL Server

热点推荐