SELECT name FROM sample51 GROUP BY name;
- 결과는 DISTINCT와 같다.
- GROUP BY의 의미는 집계함수와 함께 사용할 때 나타난다.
SELECT name, COUNT(name), SUM(quantity) FROM sample51 GROUP BY name;
SELECT 열 FROM 테이블 GROUP BY 열 HAVING 조건
내부처리 순서 : WHERE → GROUP BY → HAVING → SELECT → ORDER BY
SELECT name,COUNT(name)FROM sample51 GROUP BY name HAVING COUNT(name)=1;
SELECT name AS n,COUNT(name) AS cn FROM sample51 GROUP BY n HAVING cn=1;
같은 명령은 SELECT구가 후순위이기 때문에 원래는 불가능하지만, MySQL에서는 융통성있게 사용이 가능하다.
SELECT MIN(no),name,SUM(quantity) FROM sample51 GROUP BY name;
위와 같이 복수의 열을 지정할 때는 집계함수로 하나의 값을 지정해줘야한다.
SELECT name, COUNT(name),SUM(quantity) FROM sample51 GROUP BY name ORDER BY SUM(quantity) DESC;