japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

 
GROUP BY HAVING 절
조회 : 6,123  


GROUP BY HAVING 절
GROUP BY 절은 질의문의 SELECT 절에 하나 이상의 집계 함수가 주어진 경우에 사용된다.

질의 결과는 그룹으로 구성되는데 HAVING 절을 지정하면 GROUP BY 절로 구성되는 모든 그룹을 나열하는 것이 아니라, 지정된 조건을 만족하는 그룹만 조회되도록 조건을 설정할 수 있다.
1) 구문
GROUP BY expression_list [ HAVING search_condition]
expression_list : expression_list는 하나 이상의 컬럼 이름 또는 표현식으로 구성되며, 각각의 항목은 쉼표(,)로 구별되어야 한다.
search_condition : 질의 결과 그룹은 HAVING 선택 사항에서 지정한 search_condition에 의해 한정할 수 있다. 질의 결과로 여러 그룹이 생성되었을 경우에도 특정 논리 표현식을 만족하는 그룹만 표시되도록 제한할 수 있다.
2) 예제
다음은 1988년 이후 올림픽에서 각 해마다의 금메달 개수가 몇 개인지 조회하는 예제이다. participant 테이블에 대해 host_year별로 gold의 합을 구한다. 이 예제에서 테이블 participant 인스턴스는 5개의 서로 다른 host_year 값을 가지므로 5개의 그룹이 만들어지고, 각각의 host_year 값의 그룹에 대해 sum(gold) 값이 계산된다.
SELECT host_year, SUM(gold) FROM participant WHERE host_year >= 1988 GROUP BY host_year;
=== <Result of SELECT Command in Line 2> ===
host_year sum(gold)
===================
1988         241
1992         260
1996         271
2000         298
2004         301
5 rows selected.
다음은 국가별로 올림픽에 출전한 선수들을 묶고, 200명 이상 출전한 국가에 대해서 국가코드와 선수 수를 조회하는 예제이다. GROUP BY 절에 HAVING 절을 더하여 지정 조건에 만족하는 인스턴스를 조회할 수 있다. 위의 질의문에서는 count(code)가 200이 넘는 인스턴스에 한해 nation_code로 묶여 조회된다. WHERESELECT 절의 조건절이라고 한다면, HAVINGGROUP BY 절의 조건절이 된다.

GROUP BY 절에 컬럼뿐만 아니라 표현식을 나열할 수도 있다. 이 경우 표현식은 컬럼, 함수, 상수 값으로 구성될 수 있다.
SELECT nation_code, COUNT(code) FROM athlete
GROUP BY nation_code HAVING COUNT(code) > 200;
=== <Result of SELECT Command in Line 2> ===
nation_code  count(code)
========================
'AUS'         355
'CHN'         296
'CUB'         203
'GER'         417
'ITA'         226
'JPN'         205
'KOR'         263
'NED'         214
'RUS'         369
'USA'         810
10 rows selected.

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1631


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
큐브리드

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 데이타베이스
MySQL
Oracle
PostgreSQL
큐브리드
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.