基于条件的列数

Ale*_*Man 6 oracle count

我已经创建了一个oracle查询,如下所示,查询工作正常,但问题是我想要一个更多列,这是名称的计数,其中类别应为A,id应为1

SELECT name, velocity, COUNT(*) AS count, category FROM section GROUP BY name, velocity
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

任何人都可以告诉我一些解决方案

Can*_*mer 24

SELECT name, velocity, COUNT(*) AS count, 
COUNT(CASE WHEN category = 'A' AND id = 1 THEN 1 END)
FROM section 
GROUP BY name, velocity
Run Code Online (Sandbox Code Playgroud)

这应该工作.

如果记录不满足条件,则它将返回NULL,并且count将跳过NULL字段.