SQL[ORDER BY]
ORDER BY
SQL에서의 ORDER BY는 SQL에서 자주 사용되는 문장 중 하나입니다.
보통 SELECT문과 함께 사용되며, 쿼리 결과를 지정된 열을 기준으로 정렬하여 반환합니다.
SQL코드 예시 [ 프로그래머스 SQL 고득점 KIT 문제]
1
2
3
4
SELECT U.USER_ID, U.PRODUCT_ID FROM ONLINE_SALE U
GROUP BY U.USER_ID, U.PRODUCT_ID
HAVING COUNT(U.USER_ID) > 1
ORDER BY U.USER_ID ASC, U.PRODUCT_ID DESC
위와같이 FROM절에서 명시한대로 ONLINE_SALE테이블에서 GROUP를 사용해 U.USER_ID, U.PRODUCT_ID를 그룹화 시켜 줍니다.
그런 다음 HAVING(GROUP의 집계함수)를 사용해 USER_ID가 1보다 큰 값들만 그룹으로 묶는대, 이제 여기서 ORDER BY가 등장하게 됩니다.
여기서는 USER_ID로 오름차순을 하고, 만약에 USER_ID가 같을 경우 PRODUCT_ID를 기준으로 내림차순을 하여 결과를 도출하는 SQL 쿼리문입니다.
이처럼 ORDER BY는 정렬할때 주로 사용되며 오름차순은 ASC, 내림차순은 DESC가 있습니다.
이외에도 여러 종류의 함수가 존재합니다.
함수 종류
LOWERO
UPPER
LENGTHO
DATE_FORMATO
- 날짜를 특정 형식으로 변환하여 정렬합니다.
사용법
1
SELECT column_name FROM table_name ORDER BY DATE_FORMAT(date_column, '%Y-%m-%d');
CONVERTO
- 데이터 타입을 다른 형태로 변환하여 정렬합니다.
사용법
1
SELECT column_name FROM table_name ORDER BY CONVERT(column_name, data_type);
CASE
This post is licensed under CC BY 4.0 by the author.