请教sql语句高手 一个视图 多个计算结果

以下表为例:IDPRODGUPSDB01AAAASKCY02AAAASKCN03AAAAZPCY04BBBBZPCY05BBBBZPCN现想统计数量,放在一个视图中,统计... 以下表为例:
ID PROD GUP SDB
01 AAAA SKC Y
02 AAAA SKC N
03 AAAA ZPC Y
04 BBBB ZPC Y
05 BBBB ZPC N
现想统计数量,放在一个视图中,统计条件为:
1、每个PROD下,GUP=SKC的记录条数;
2、每个PROD下,GUP=SKC,SDB=Y的记录条数;
3、每个PROD下,GUP=ZPC的记录条数;
4、每个PROD下,GUP=SKC,SDB=Y的记录条数;

最后的视图结果应该为:
PROD GUP SUM SDBSUM
AAAA SKC 2 1
AAAA ZPC 1 1
BBBB ZPC 2 1
不知道我表述清楚了没?请教sql高手,如有不清楚,可以h我,非常感谢!
展开
 我来答
badkano
2013-12-09 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部

创建测试表

create table test
(id varchar(2),
prod varchar(10),
gup varchar(10),
sdb varchar(1))
insert into test values('01','AAAA','SKC','Y')
insert into test values('02','AAAA','SKC','N')
insert into test values('03','AAAA','ZPC','Y')
insert into test values('04','BBBB','ZPC','Y')
insert into test values('05','BBBB','ZPC','N')

创建视图

create  view v_t
as
select prod,gup,count(*) [sum],sum(case when sdb='Y' then 1 else 0 end) sdbsum
from test group by prod,gup

 

结果

tim_spac
2013-12-11 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2012万
展开全部
select prod, gup
    ,count(1) as sum
    ,count(case sdb when 'Y' then 1 end) as sdbsum
from tb
group by prod, gup
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式