programing

조건을 기준으로 한 열 개수

powerit 2023. 7. 2. 21:05
반응형

조건을 기준으로 한 열 개수

아래와 같이 오라클 쿼리를 생성했습니다. 쿼리는 정상적으로 작동하지만 문제는 카테고리가 A이고 ID가 1인 이름 개수 열을 하나 더 원한다는 것입니다.

SELECT name, velocity, COUNT(*) AS count, category FROM section GROUP BY name, velocity

enter image description here

이것에 대한 해결책을 알려주실 수 있나요?

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

이게 통할 겁니다.

레코드가 조건을 충족하지 못하면 NULL을 반환하고 카운트는 NULL 필드를 건너뜁니다.

이와 같은 것:

SELECT name, velocity, COUNT(*) AS count, 
SUM(CASE WHEN category = 'A' AND id = 1 THEN 1 ELSE 0 END)
FROM section 
GROUP BY name, velocity
SELECT name, velocity, COUNT(*) AS count, category, 
       (select count(distinct name) from section where category = 'A' and id = 1)
FROM section 
GROUP BY name, velocity

언급URL : https://stackoverflow.com/questions/33169707/column-count-based-on-a-condition

반응형