반응형 EX) A테이블, B테이블, C테이블 , D테이블 의 ROW수를 얻어오는 문법입니다. 사실 SELECT COUNT(*) FROM A테이블 이런식으로 작성해도 되지만 조금 더 편리한 방법입니다. 효율적이지는 않지만 가끔 쓰일꺼같아 정리차원에서 게시글을 작성합니다.
반응형 저작자표시비영리동일조건 'Oracle' 카테고리의 다른 글
Query문을 작성하며 원하는 결과가 포함된 데이터의 개수를 구하기 위해 COUNT()를 사용하곤 합니다. 그런데, 예를 들어봅시다. 이와 같은 Table이 있는데, 해당 Table의 전체 개수와 Age가 10대인 데이터의 개수만을 구하기 위해서는 어떻게 해야할까요?? 물론, 쿼리를 두번 날릴 수 있지만, 성능을 위해 한번에 처리하는 것이 좋을 것입니다. (물론, 저정도 양이라면... 이런 고민 조차가...)
이와 같이 전체 데이터의 개수와, IF문을 사용하여 age가 10대인 데이터의 개수를 한 Query에서 동시에 구할 수 있습니다. 예... 그렇습니다. 굳~ 저작자표시비영리변경금지 '삽질의 현장 > - DataBase' 카테고리의 다른 글
COUNT CASE, COUNT DISTINCT 조건에 따른 카운트 및 중복을 제거한 카운트를 세보자 COUNT CASE (조건 카운트)특정 조건에 해당하는 행의 카운트를 세보자
조건에 일치할 경우 카운트하고, 일치하지 않을 경우 카운트하지 않는다. 예제. 반별 학생 수 카운트반을 기준으로 반별로 학생의 수를 카운트해보자 원본 데이터1반에 해당하는 '꽁쥐','박사' -> 2명 2반에 해당하는 '찌우', '소태', '소희' -> 3명 3반에 해당하는 '현정', '태희' -> 2명 의 결과를 가져온다. 위와 같은 경우는 COUNT CASE가 아니라 간단히 GROUP BY를 사용해서 표현할수도 있다. 결과 데이터CASE DISTINCT (중복제거 카운트)중복된 값을 제거하고 카운트해보자
값의 중복이 있을 경우 중복을 제거하여 무조건 하나로 카운트한다. 예제. 중복을 제거한 반별 학생 수 카운트학생 수를 반별로 카운트하되, 중복을 제거하고 카운트해보자 원본 데이터결과 데이터1반의 꽁쥐의 데이터는 3개가 있다. COUNT(*) -> 3 하지만, DISTINCT로 중복을 제거하면 하나로 카운트한다. COUNT(DISTINCT 이름) -> 1 [MSSQL] GROUP BY 없이 컬럼과 함께 COUNT를 조회해보자 (COUNT OVER) [MSSQL] COUNT(*) COUNT(1), COUNT(컬럼명) [MSSQL] DISTINCT, GROUP BY 비교 |