我是Oracle SQL的初学者.我正在使用SQL Developer.不执行此查询.我需要每个id如1001,1002有多少是没有状态和多少没有状态.提前致谢....
我用过这个SQL:
SELECT ID, COUNT(STATUS)
FROM TABLE1
WHERE
GROUP BY ID, STATUS
HAVING STATUS = YES OR STATUS = NO;
Run Code Online (Sandbox Code Playgroud)
我有这样的表:
id school status
--------------------------
1001 vani YES
1002 sunbeam YES
1001 shristri YES
1002 jain NO
1001 holycross YES
1001 vani NO
Run Code Online (Sandbox Code Playgroud)
我需要输出像
id yesstatus Nostatus
-------------------------
1001 3 1
1002 1 1
Run Code Online (Sandbox Code Playgroud)
您当前的查询语法确实错误,但您可以执行条件聚合:
select id,
sum(case when status = 'YES' then 1 else 0 end) as yesstatus,
sum(case when status = 'NO' then 1 else 0 end) as Nostatus
from table1 t1
where status in ('YES', 'NO')
group by id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |