ORDER BY 2, 1
ORDER BY 1, 2, 3
컬럼에 숫자를 붙여서 사용할 수 있다.
두개의 테이블을 활용할 때 필요하다. 두개의 테이블이 공통적으로 가지고 있는 값을 활용하여 JOIN을 해준다.
SELECT A.PRODUCT_CODE, sum(B.SALES_AMOUNT * A.PRICE) AS SALES
FROM PRODUCT A
JOIN OFFLINE_SALE B ON A.PRODUCT_ID = B.PRODUCT_ID
GROUP BY 1
ORDER BY SALES DESC, PRODUCT_CODE ASC;
- SUM기능도 마찬가지로 B.SALES_AMOUNT * A.PRICE와 같이 SUM을 통해 계산도 가능하다.
SELECT CAR_TYPE, COUNT(OPTIONS) CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%가죽시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%통풍시트%'
GROUP BY CAR_TYPE
ORDER BY 1
위의 코드처럼 LIKE를 사용해서 일일히 지정하는 방법도 있지만,
정규표현식을 사용하여 간단하게 표현 가능하다.
- 정규표현식이란?
특정한 규칙을 가진 문자열의 집합을 표현하는데 쓰이는 형식 언어이다.
문자열을 처리하는 방법 중의 하나, 특정한 조건의 문자를 '검색'하거나 '치환'할 때 사용한다.
SELECT 컬럼명
FROM 테이블명 WHERE 컬럼명 REGEXP '정규표현식';
으로 사용 가능하다.
^ : 시작
* : 끝
[abc] : a, b, c 중 하나
^[abc] : a, b, c 중 하나로 시작하는 문자
^[abc].* : a, b, c 중 하나로 시작하는 문자열
[^abc] : a, b, c 전부 제외
\d : 하나의 숫자
. : 문자
.* : 문자의 반복 즉 문자열
[a-z] : a부터 z까지
[abc]$ : a, b, c 중 하나로 끝나는 문자
.*[abc]$ : a, b, c 중 하나로 끝나는 문자열
* 프로그래머스 문제 예제
SELECT CAR_TYPE, COUNT(CAR_ID) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS REGEXP '통풍시트|열선시트|가죽시트'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE ASC