group by, having, inner join
DB/MySQL 2010. 6. 28. 15:06* group by..
group by절은 그룹별로 검색을 하게 해 준다. 특정 필드에 대해 중복이 되지 않도록
그루핑이 가능하다.
id 1111 school 백수초딩학교
id 1111 school 백마고등학교
id 2222 school 응가초딩학교
id 2222 school 응가대학교
이럴때 id로만 그루핑해서 몇명이 있는지 보고 싶을 때 group by id 를 사용한다.
group by 절을 사용할 때는 그룹 함수를 같이 사용해야 하는데, 대표적인 그룹함수에는
COUNT(), AVG(), MIN(), MAX(), SUM()이 있다.
* having
having 구문은 group by를 사용할때 연이어서 조건문 사용을 가능하게 해준다.
예)
SELECT id, COUNT(*) FROM member WHERE cc='Y' GROUP BY id HAVING COUNT(cc)=2;
설명:
member table에서 id가 중복되지 않게 group 으로 묶은 후에,
cc 필드의 갯수가 2인 것만 으로 조건 제약.
* inner join..
inner join에서의 조건문은 where이 아닌 on을 사용해서 쓴다.
예)
SELECT p.id, p.name, p.commnet FROM member AS p
LEFT INNER JOIN member_crazy AS r
ON p.id=r.id
LEFT INNER JOIN member_babo AS c
ON p.id=c.id
'DB > MySQL' 카테고리의 다른 글
[MySql] JOIN 문 (0) | 2010.07.02 |
---|---|
GROUP BY (0) | 2010.06.29 |
에러 코드 모음 (0) | 2010.06.17 |
mysql 접속 여부 확인 및 에러 (0) | 2010.05.31 |
mysql_fetch 계열 함수 (0) | 2010.05.31 |