求一条SQL语句,特殊条件下求平均值 SELECT count(*) as cc, sum(sd)/sum(case when sd>0 then 1 else 0 end ) as aa FROM tb WHERE id>xxxx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT count(*) as cc, sum(sd)*1.0/sum(case when sd>0 then 1 else 0 end ) as aa FROM tb WHERE id>xxxx SELECT COUNT(*),SUM(sd)*1./(COUNT(*)-SUM(CASE WHEN sd=0 THEN 1 ELSE 0 END))FROM tb select count(*)as cc,avg(sd)as aa from tb group by cc,aa having id>xxxx and sd<>0 select count(1) as cc,sum(sd) / sum(case when sd>0 then 1 else 0 end) as aa from tb where id>0不过这样会比较慢 SELECT count(*) as cc, sum(sd)*1.0/sum(case when sd>0 then 1 else 0 end ) as aa FROM tb WHERE id>xxxx SELECT count(*) as cc, avg(nullif(sd,0)) as aa FROM tb WHERE id>xxxx 直接用nullif(sd,0)把0转换成null就不会计入统计了 select(SELECT count(*) as cc FROM tb WHERE id>xxxx ),(SELECT avg(sd) as aa FROM tb WHERE id>xxxx AND sd>0 ) SELECT count(*) as cc, avg(case sd when 0 then 1 else sd end ) as aa FROM tb WHERE id>xxxx 救救我吧…我要抓狂了…关于SQL2005不能远程连接的问题 MSSQL 2008如何设置能够远程访问? 【新手问】sql2005和2008有什么不同? 求一个SQL语句 关于数据查询的问题 求一个触发器的简单SQL语句实现 SQL分布式问题[无法执行该操作,因为链接服务器 "srv2" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务] 维护计划里清除计划报错。 sql server2000 与 sql server 2005 同存问题 求大神解决触发器的问题 sql问题 怎样在sql server上定时(每月1号)创建视图,视图名为年月(如200902)
FROM tb
不过这样会比较慢
(SELECT count(*) as cc FROM tb WHERE id>xxxx ),
(SELECT avg(sd) as aa FROM tb WHERE id>xxxx AND sd>0 )