- GROUP BY
00별 00의 개수
SELECT 00, COUNT(*) FROM TABLE GROUP BY 00
00별 00의 합계, 평균, 최댓값, 최솟값
SELECR 00, SUM(00) FROM TABLE GROUP BY 00
00별 @@의 개수
SELECT 00, COUNT(@@) FROM TABLE GROUP BY 00
GROUP BY문을 작성하는 쉬운 방법
1. SELECT * FROM TABLE
2. SELECT * FROM TABLE GROUP BY 00
3. SELECT 00, COUNT(*) FROM TABLE GROUP BY 00
1. 기본문을 작성(조건문 넣어줘도 됨)
2. 00별로 묶는 것을 확인하고 GROUP BY를 작성
그룹으로 묶었는데 *를 쓰면 00으로 묶었을 때의 똑같은 애들의 개수, 평균, 합계 등을 알 수 없기 때문에
3. *을 00으로 묶었다고 알려주고, 그것의 개수, 합계, 평균을 보여주겠다를 COUNT(*)로 보여줌 (COUNT(00)으로 해도 똑같음)
# 기본문
SELECT name FROM users u GROUP BY name
# 이름별 그룹(중복제거인셈)
# 조건문
SELECT name, COUNT(*) FROM users u WHERE email LIKE "%naver.com%" GROUP BY name
# 네이버 이메일을 가진 이름별 갯수
# 00별 갯수
SELECT name, COUNT(*) FROM users u GROUP BY name
# 이름별 갯수
# 00별 합계
SELECT name, SUM(likes) FROM users u GROUP BY name
# 이름별 좋아요 합계
# 00별 평균
SELECT name, AVG(name) FROM users u GROUP BY name # AVG(00)을 쓰면 소수점이 지저분함
SELECT name, ROUND(AVG(name),1) FROM users u GROUP BY name # AVG(00)를 ROUND(AVG(00),1)로 감싸면 소숫점 1자리까지 표시
# 00별 최대값, 최소값
SELECT name, MAX(likes) FROM users u GROUP BY name
# 이름별 좋아요 최대값
SELECT name, MIN(likes) FROM users u GROUP BY name
# 이름별 좋아요 최솟값
- ORDER BY
오름차순 정렬(기본)
SELECT * FROM TABLE ORDER BY COLUMN (ASC)
내림차순 정렬
SELECT * FROM TABLE ORDER BY COLUMN DESC
# 기본문
SELECT * FROM PRODUCT ORDER BY price
SELECT * FROM PRODUCT ORDER BY price ASC # ASC 생략 가능
# 제품을 가격으로 오름차순 정렬
# 내림차순
SELECT * FROM PRODUCT ORDER BY price DESC
# 제품을 가격으로 내림차순 정렬
# 조건문
SELECT * FROM PRODUCT WHERE brand = "GUCCI" ORDER BY price
# 브랜드가 구찌인 제품을 가격으로 오름차순 정렬
# GROUP BY랑 같이
SELECT category, price FROM PRODUCT WHERE brand = "GUCCI" GROUP BY category ORDER BY price
# 브랜드가 구찌인 제품을 카테고리별 가격으로 오름차순 정렬
- AS
별칭
SELECT 00 AS ## FROM TABLE
00 칼럼을 ##이라는 별칭으로 나타내줌