이 절이 말 그대로 그룹으로 묶어주는 역할을 한다.
SELECT userId, amount FROM buytbl ORDER BY userID;
SELECT userID, SUM(amount) FROM buytbl GROUP BY userID;
SELECT userID, SUM(amount) FROM buytbl GROUP BY userID;
SELECT userID, SUM(amount) FROM buytbl GROUP BY userID;
함수명 | 설명 |
---|---|
AVG() | 평균을 구한다. |
MIN() | 최소값을 구한다. |
MAX() | 최대값을 구한다. |
COUNT() | 행의 개수를 센다. |
COUNT(DISTINCT) | 행의 개수를 센다(중복되는 값은 1개만 인정) |
STDEV() | 표준편차를 구한다. |
VAR_SAMP() | 분산을 구한다. |
SELECT AVG(amount) '평균 구매 개수' FROM buytbl;
SELECT userid,AVG(AMOUNT)'사용자별 평균 구매 개수'FROM buytbl GROUP BY USERID;
SELECT name, MAX(height) '최고 키', MIN(height) '최저 키' FROM usertbl GROUP BY Name;
SELECT name, height FROM usertbl
WHERE height=(SELECT MAX(HEIGHT)FROM USERTBL)
OR HEIGHT = (SELECT MIN(HEIGHT)FROM USERTBL);
SELECT COUNT(mobile1) FROM usertbl;
SELECT userid '사용자',sum(price*amount)'총구매액' FROM buytbl GROUP BY userid;
SELECT userid '사용자',sum(price*amount)'총구매액' FROM buytbl GROUP BY userid;
총합 또는 중간 합계가 필요하다면 GROUP BY절과 함꼐 WITH ROLLUP문을 사용하면 됩니다.
SELECT num,groupname,sum(price*amount)'비용' FROM buytbl GROUP BY groupname, num with rollup;
num
열이 NULL로 되어 있는 추가된 행이 각 그룹의 소합계를 의미합니다.num
을 뺴면 됩니다.이로써 기본적인 SELECT문의 틀을 살펴 보앗습니다.
SELECT문은 가장 많이 사용되는 쿼리문이며, 가장 쉬우면서도 가장 어려운 부분이기도 합니다.
다음 공부 내용은 SQL문의 분류에 대해서 살펴보고 INSERT/UPDATE/DELETE를 익혀봅니다.