菜鸟求助一条SQL语句

cleverpig_12 2005-04-28 03:12:36
一个表INFO,有两个列A 和B,
我想得到所有A的值等于1的个数,所有B的值等于0的个数,这个SQL语句怎么写啊?
统计A的值的个数时不考虑B的值,统计B的值的时候不考虑A的值!
...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cleverpig_12 2005-04-29
  • 打赏
  • 举报
回复
没有,没有,这样很好!^_^!谢谢了哦!
我的意思是“select
sum(case where a=1 then 1 else 0 end) as A為1的個數﹐
sum(case where b=0then 1 else 0 end) as B為0的個數
from info

这个好像会出错!不是你写的那个
paoluo 2005-04-28
  • 打赏
  • 举报
回复
这样计算如果说还有错误,我没话说了。
paoluo 2005-04-28
  • 打赏
  • 举报
回复
--建立测试环境
Create table INFO
(A Int,
B Int)
GO
--插入数据
Insert INFO Values(1,2)
Insert INFO Values(2,0)
Insert INFO Values(3,1)
Insert INFO Values(1,0)
Insert INFO Values(2,0)
GO
--测试
Select
(Select IsNull(Count(*),0) from INFO Where A=1) As N'A等于1的个数',
(Select IsNull(Count(*),0) from INFO Where B=0) As N'B等于0的个数'
GO
--删除测试环境
Drop table INFO
--结果
/*
A等于1的个数 B等于0的个数
2 3
*/
cleverpig_12 2005-04-28
  • 打赏
  • 举报
回复
hopewell_Go,这样写好像会出错诶!
Well 2005-04-28
  • 打赏
  • 举报
回复
select
sum(case where a=1 then 1 else 0 end) as A為1的個數﹐
sum(case where b=0then 1 else 0 end) as B為0的個數
from info
Comer 2005-04-28
  • 打赏
  • 举报
回复
select count(*) from info where a=1 union all select count(*) from info where b=0
sindia 2005-04-28
  • 打赏
  • 举报
回复
(select count(*) from info where a=1) union (select count(*) from test where b=0)
paoluo 2005-04-28
  • 打赏
  • 举报
回复
Select
(Select IsNull(Count(*),0) from INFO Where A=1) As N'A等于1的个数',
(Select IsNull(Count(*),0) from INFO Where B=0) As N'B等于0的个数'

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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