sql语句中查询含有a数据的列数,b数据的列数,c数据的列数
如:表名为t1表数据结构为:idabc一12二1三3我现在需要查的是,含有的字段a数据为1的列数,含有字段b数据2的列数,含有字段c数据3的列数并且是一次性查完,不用每次...
如: 表名为t1 表数据结构为:
id a b c
一 1 2
二 1
三 3
我现在需要查的是,含有的字段a数据为1的列数,含有字段b数据2的列数,含有字段c数据3的列数
并且是一次性查完,不用每次查询还去更改id或者别的条件。
结果应该为: count(a) count(b) count(c)
2 1 1 展开
id a b c
一 1 2
二 1
三 3
我现在需要查的是,含有的字段a数据为1的列数,含有字段b数据2的列数,含有字段c数据3的列数
并且是一次性查完,不用每次查询还去更改id或者别的条件。
结果应该为: count(a) count(b) count(c)
2 1 1 展开
2个回答
2014-09-11
展开全部
select count(a) as 'count(a)',
count(b) as 'count(b)',
count(c) as 'count(c)'
from t1
这样就行了啊。
count(a),他只计算a不为空的列数。结果是2.
count(b) as 'count(b)',
count(c) as 'count(c)'
from t1
这样就行了啊。
count(a),他只计算a不为空的列数。结果是2.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
语句:
select sum(case when a = 1 then 1 else 0 end) count(a)
,sum(case when b = 2 then 1 else 0 end) count(b)
,sum(case when c = 3 then 1 else 0 end) count(c)
from table
select sum(case when a = 1 then 1 else 0 end) count(a)
,sum(case when b = 2 then 1 else 0 end) count(b)
,sum(case when c = 3 then 1 else 0 end) count(c)
from table
更多追问追答
追问
大神,我表达上可能有错误,是这样的。
id a b c
一 1 1 0
二 3 2 0
三 0 2 1
而我要的结果是:分别含有a ,b ,c数据的列数
count(a) coun(b) count(c)
2 3 1
大神,我表达上可能有错误,是这样的。
id a b c
一 1 1 0
二 3 2 0
三 0 2 1
而我要的结果是:分别含有a ,b ,c数据的列数
count(a) coun(b) count(c)
2 3 1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询