一个简单的的问题,请大家看看


table1
userid msgcount
1 10
2 23
3 null
4 2
5 null
现在要统计出msgcount的总 数量
不知道SQL 的语句怎么写。
[153 byte] By [dzg2002-小邓] at [2008-2-13]
# 1
select sum(isnull(msgcount,0)) from table
ihh-明天 at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...
# 2
select sum(case when msgcount is null then 0 else msgcount end)
from table
gfso2000-初学者 at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...
# 3
select sum(isnull(msgcount,0)) from tablename
liujianjun_-流星尔 at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...
# 4
no need to do isnull check:

select sum(msgcount) as sum from table1
saucer-思归 at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...
# 5
直接SUM就可以了,不用ISNULL,即使用了这种用法也没意义
mnjrh at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...
# 6
select sum(msgcount) as sum from table1
同意:mnjrh(SQL太难了)
yinzhen-銀圳 at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...
# 7
直接用SUM,如果考虑可能会没有匹配的记录供聚合,返回的值为NULL,那么就在SUM外加个ISNULL就行
matboy at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...
# 8
ISNULL有意义,但要加在最外面,如果没有数据,或者所有的数据都是NULL时,SUM计算的结果是NULL
hillhx-曾经的曾经 at 2007-10-20 > top of Msdn China Tech,MS-SQL Server,基础类...