반응형
Oracle - 여러 개의 카운트를 하나의 쿼리로 반환
아래에 자세히 나와 있는 몇 가지 질문이 있습니다.두 카운트를 모두 반환하는 하나의 SQL 쿼리를 실행하고 싶은데 가능한가요?
1.
select nvl(count(rowid), 0) from tablename where OPP = 'FOO' and date = 'BAZ';
2.
select nvl(count(rowid), 0) from tablename where OPP = 'BAR' and date = 'BAZ';
지금까지 검색에서 MSSQL 관련 솔루션만 찾았습니다.
단일 행에 필요한 경우:
SELECT
COUNT(CASE OPP WHEN 'FOO' THEN 1 END),
COUNT(CASE OPP WHEN 'BAR' THEN 1 END)
FROM tablename
WHERE OPP IN ('FOO', 'BAR') AND date = 'BAZ'
(Thilo의 GROUP BY 접근 방식이 어쨌든 더 나은 일반적인 솔루션입니다.)
편집: 제거했습니다.NVL()
나는 내가 왜 그것을 절대 사용하지 않는지 잊었습니다.
조건이 실제로 그렇게 보이는 경우(같은 표, 그룹에서 하나의 필드만 다름):
select opp, count(*) from tablename
where date = 'BAZ'
group by opp
having opp in ('FOO', 'BAR');
임의 쿼리의 경우:
select 'A', count(*) from tableA
union all
select 'B', count(*) from tableB
문장과 함께 를 사용할 수 있습니다.
with
count1 as (
select ...
),
count2 as (
select ...
)
select tot1, tot2
from count1, count2
언급URL : https://stackoverflow.com/questions/6356564/oracle-return-multiple-counts-as-one-query
반응형
'code' 카테고리의 다른 글
ER 다이어그램이 Datagrip에 관계를 표시하지 않음 (0) | 2023.08.11 |
---|---|
MariaDB 연결이 임의로 실패하지만 계속 유지됨 (0) | 2023.08.11 |
Tom을 위한 데이터 소스 설정 방법EE+ (0) | 2023.08.11 |
페이지 로드가 완료되기 전에 사용자가 페이지를 떠난 경우 jQuery agaxError() 핸들러가 실행됨 (0) | 2023.08.11 |
도커의 호스트 디렉토리에 액세스할 때 사용 권한이 거부되었습니다. (0) | 2023.08.11 |