如何用SQL查询非空值记录的数量
我有一个数据表,第一个字段是公司ID,其余的12个字段是经理的名字(最多只有12位经理)。有的大公司有12位经理;而有的小公司只有n位经理(n<12),这种情况那么只有前...
我有一个数据表,第一个字段是公司ID,其余的12个字段是经理的名字(最多只有12位经理)。有的大公司有12位经理;而有的小公司只有n位经理(n<12),这种情况那么只有前几个字段有值,对应的其余字段为空值。我该如何用SQL查询出每个公司具体有多少位经理呢?
展开
1个回答
2018-06-02 · 知道合伙人软件行家
Axure夜话
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1197
获赞数:1344
1992年毕业于太原理工大学,20年IT公司工作经验现任山西誉海和科技有限公司技术总监,老二牛车教育课程总监
向TA提问 私信TA
关注
展开全部
从数据设计的角度,设计12个字段表示经理的名字的方式是错误的。
正确的应该是设计一个经理字段就可以了,有多少条就代表有多少经理。
既然结构是12个字段,也是可以统计的。提供一个参考方案:
select 公司ID,
sum(case
when 经理1字段 is not null then 1
when 经理2字段 is not null then 1
......
else 0 end) 人数
from 数据表
group by 公司ID
正确的应该是设计一个经理字段就可以了,有多少条就代表有多少经理。
既然结构是12个字段,也是可以统计的。提供一个参考方案:
select 公司ID,
sum(case
when 经理1字段 is not null then 1
when 经理2字段 is not null then 1
......
else 0 end) 人数
from 数据表
group by 公司ID
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询