MySQL
ORDER BY / COUNT / SUM / AVG / MIN / MAX / GROUP BY / CASE
S.T.Lee
2022. 11. 16. 21:20
ORDER BY
- 정렬을 해준다
- 만약 WHERE절이랑 같이 쓰이면 뒤에 적용해야한다
- ASC
- ascending : 오름차순 정렬
- DESC
- descending : 내림차순 정렬
COUNT
- 해당 컬럼이 몇개 있는지 세준다
- ex) SELECT COUNT(name) FROM table_ WHERE age < 20
SUM, AVG, MIN, MAX
- 합산, 평균, 최솟값, 최댓값
GROUP BY
- 테이블 레코드를 그룹 맺어준다
- 주로 aggregate function과 함께 쓰인다
- count, max, min, sum, avg
- 1개 이상의 column에 대해 가능하다
- 왠만해선 조건을 HAVING에 넣어주는게 좋으나 WHERE를 사용한다면 GROUP BY보다 선행되어야한다
HAVING
- GROUP BY에 조건을 할당한다
CASE
- 경우에 수에 따라 나눌 수 있다
- CASE 컬럼
- WHEN 조건 THEN 컬럼
- WHEN 조건 THEN 컬럼
- ELSE 컬럼
- END
- ELSE를 생략할 경우 NULL로 설정된다
- CASE를 활용하여 테이블 피봇이 가능하다
- SELECT SUM(CASE
- WHEN id=1 THEN categoryPrice
- ELSE NULL
- END) AS categoryTotalPrice
- FROM table
- id가 1인 카테고리에 대해서 가격 총 합을 알 수 있다.
- SELECT SUM(CASE