一个group的问题,遇到好多次

本文介绍如何使用SQL语句统计两个关联表中特定条件下的记录数量,特别是如何处理计数为0的情况。通过示例展示了使用外连接和nvl函数来实现这一目标的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个表R1,R2
R1
a,b列
1,2
5,2
3,2
4,2
3,1
4,1
2,3
3,3
R2
b,c列
2,B
1,A
3,C
4,D
5,E
R1 b与R2 b关联
现要求
A,B,C,D,E分别对应的a值的个数
结果应为
A,2
B,5
C,2
D,0
E,0
 

不知道我说的明不明白
就是说A在R1表中对应2个值,B 5个,C2个,D 0个,E 0个
这个sql语句怎么写
我用group写出来的无法统计个数为0的,向各位求教

答案

SQL> select R2.c,
2 nvl(count(R1.b), 0)
3 from R1, R2
4 where R1.b(+)=R2.b
5 group by R2.c;

C NVL(COUNT(R1.B),0)
- ------------------
A 2
B 4
C 2
D 0
E 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值