My SQL

MySQL 데이터 정렬하기

bmin_2 2022. 8. 22. 16:51

오늘은 데이터를 정렬해서 조회하는 방법을 알아보겠습니다.

SQL에서 정렬이란 무엇일까요?

row들을 특정 컬럼을 기준으로 순서대로 출력 하는 것을 얘기합니다.

정렬을 하는방법은 간단한데요

ORDER BY "정렬기준 ASC; 또는 ORDER BY "정렬기준DESC; 

이렇게 써주시면 정렬이 됩니다

정렬에는 오름차순 정렬과 내림차순 정렬이 있습니다

 

오름차순 : 작은것 부터 큰순으로 올라가는 정렬(기본값) 내림차순 : 큰것부터 작은순으로 올라가는 정렬
ASC DESC

오름차순 정렬을 하려면 ORDER BY "정렬기준"  ASC; 

내림차순 정렬을 하려면 ORDER BY "정렬기준"  DESC; 

이렇게 해주면 됩니다.

(참고로 기본값은 ASC라서  ORDER BY "정렬기준" 뒤에 별도에 값없이 마침표를 찍으면 자동으로 ASC정렬 됩니다.)

이제 알기 쉽게 예제를 볼까요? 

 

ORDER BY 예제입니다.

 

age 컬럼을 기준으로 숫자가 작은것 부터 큰것으로 올라가는 ASC정렬 그리고

숫자가 큰것부터 작은순으로 내려가는 DESC 정렬을 한것에 대한 예제입니다.

간단하죠? 그런데 예제를 보고 의문점이 드는 부분이 없으신가요?

age 가 같은 승환과 지화는 따로 정렬해줄수 있는 방법이 없을까요?

그건 ORDER BY age ASC 뒤에 ,(컴마)를 찍고 "정렬기준" ASC 또는 DESC 이런식으로 

age 컬럼에 값이 같다면 ,(컴마)뒤에 컬럼에대한 기준으로 ASC 또는 DESC 할 수 있는데요

예제 바로 보여드릴게요

 

 

ORDER BY age ASC 우선 age컬럼을 기준으로 오름차순 정렬하고 

,(컴마) name DESC    age 컬럼에 값이 같다면 name 컬럼을 기준으로 내림차순 정렬 한 것입니다.

예를들어 가입일자가 같다면 이름순으로 조회 이런식으로 쓸 수 있겠죠?

 

오늘은 MySQL에서 ORDER BY 에 대해 알아보았습니다.