group by 이해하기
응모자 테이블(pr_evnt_tkpt)에
한 사람(ec_cust_no)이 같은 이벤트번호(cmpn_no)로 여러번 응모가 가능하다.
ex) pr_evnt_tkpt 전체 데이터가 다음과 같이 들어가 있다.
1 2 3 4 5 6 | ptcp_no cmpn_no ec_cust_no 1 1 E100 2 1 E100 3 1 E100 4 2 E200 5 2 E300 | cs |
쿼리 1.
1 2 3 4 | select * from pr_evnt_tkpt a where a.cmpn_no = '1' and a.ec_cust_no = 'E100' ; | cs |
결과 1.
1 2 3 4 | ptcp_no cmpn_no ec_cust_no 1 1 E100 2 1 E100 3 1 E100 | cs |
쿼리 2.
1 2 3 4 5 | -- 각각의 이벤트에 총 응모한 횟수 select a.cmpn_no, count(*) from pr_evnt_tkpt a group by a.cmpn_no ; | cs |
결과 2.
1 2 3 | cmpn_no count 1 3 2 2 | cs |
쿼리 3.
1 2 3 4 5 | -- 각각의 이벤트에 한 회원이 응모한 횟수 select a.cmpn_no, a.ec_cust_no, count(*) from pr_evnt_tkpt a group by a.cmpn_no, a.ec_cust_no ; | cs |
결과 3.
1 2 3 4 | cmpn_no ec_cust_no count 1 E100 3 2 E200 1 2 E300 1 | cs |
다음과 같이 카운트 값을 확인 할 수 있었다.
'전체 > MySQL' 카테고리의 다른 글
SQL EXPLAIN 정리 (0) | 2018.11.19 |
---|---|
ANSI Syntax and Conventional syntax(non-ANSI) 안시조인 사용 이유 (0) | 2018.10.29 |
where case문, or문 사용하기 (1) | 2018.06.20 |
쿼리에서 select해서 update하기, 쿼리에서 select한 값을 list로 받아와서 update하기 (0) | 2018.06.07 |
MySQL 부등호 비교, 만 나이 구하는 쿼리 (0) | 2018.05.15 |