DB/SQL
[MariaDB] Order by, 여러 개로 정렬하기 (더 중요한 것을 앞에)
bskyvision.com
2021. 5. 28. 10:38
결혼 정보업체에 등록되어 있는 남자회원의 정보가 다음과 같다고 가정하겠습니다. 이름(name), 연봉(salary), 키(height), 착함(goodness) 정도가 기록되어 있습니다.
만약 A라는 여성이 원하는 결혼 상대를 볼 때 연봉, 딱 하나만 본다면 연봉 순으로 정렬하면 됩니다.
SELECT * FROM partner ORDER BY salary;
오름차순으로 잘 정렬된 것을 확인하실 수 있습니다. 만약 연봉이 높은 사람부터 보고 싶다면 뒤에 DESC를 붙여주면 됩니다. DESC는 descending을 줄인 것입니다.
SELECT * FROM partner ORDER BY salary DESC;
여자 A는 심뚱뚱 씨를 선택할 것입니다.
여자 B는 남자를 볼 때 1순위로는 키를 보고, 2순위로는 착함의 정도를 본다고 가정해보겠습니다. 이때는 ORDER BY 뒤에 두 개가 와야하는데, 먼저 더 중요한 것을 앞에 위치하게 합니다.
SELECT * FROM partner ORDER BY height DESC, goodness DESC;
키 역순으로 정렬되는데, 키가 같을 경우에는 착함 지수가 더 높은 사람이 위에 위치한 것을 확인하실 수 있습니다. 키 175인 기수, 최똥똥, 은하수의 경우를 비교해보세요. 가장 착한 기수가 제일 위에 있습니다.
여자 B는 가장 키가 큰 사람 중에 가장 착한 영수를 선택할 것입니다.