关于sql 语句的优化!谢谢各位大侠!

dragon514 2004-03-17 02:52:34
SELECT COUNT(DISTINCT field1) FROM tablename WHERE (field1 IN (SELECT field1 FROM tablename GROUP BY field1 HAVING (SUM(field2) <> 0) OR (SUM(field3) <> 0) OR (SUM(field4) <> 0))

这是小弟写得sql语句.表tablename,字段field1,field2,field3,field4
field1相同的记录可能有多条,我要统计这个表中distinct(field1)的数量,
条件为SUM(field2) <> 0) OR (SUM(field3) <> 0) OR (SUM(field4) <> 0)
...全文
17 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
azsoft 2004-03-17
  • 打赏
  • 举报
回复
select count(field1)
from (
SELECT field1
FROM tablename
group by field1
having sum(field2)<>0 OR SUM(field3) <> 0 OR SUM(field4) <> 0
)a
zjcxc 2004-03-17
  • 打赏
  • 举报
回复
--上面不对,要这样:

select count(*) from(
SELECT field1
FROM tablename
group by field1
having sum(field2)<>0 OR SUM(field3) <> 0 OR SUM(field4) <> 0
)a
zjcxc 2004-03-17
  • 打赏
  • 举报
回复
SELECT count(*)
FROM tablename
group by field1
having sum(field2)<>0 OR SUM(field3) <> 0 OR SUM(field4) <> 0
shuiniu 2004-03-17
  • 打赏
  • 举报
回复
select count(*) from
(
SELECT field1
FROM tablename
GROUP BY field1
HAVING (SUM(field2) <> 0) OR (SUM(field3) <> 0) OR (SUM(field4) <> 0)
) a

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧