MySQL의 ORDER BY: EXAMPLE을 사용한 DESC 및 ASC 쿼리

정렬 결과

SELECT 명령을 사용하면 레코드가 데이터베이스에 추가된 것과 동일한 순서로 결과가 반환되었습니다. 이것이 기본 정렬 순서입니다. 이번 섹션에서는 쿼리 결과를 정렬하는 방법을 살펴보겠습니다. 정렬은 단순히 쿼리 결과를 지정된 방식으로 다시 정렬하는 것입니다. 단일 열 또는 둘 이상의 열에 대해 정렬을 수행할 수 있습니다. 숫자, 문자열, 날짜 데이터 유형에 대해 수행할 수 있습니다.

MySQL에서 ORDER BY란 무엇입니까?

MySQL 주문 SELECT 쿼리와 함께 사용되어 데이터를 순서대로 정렬합니다. MySQL ORDER BY 절은 쿼리 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다.

SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

여기를 클릭하십시오.

  • "SELECT 문... " 일반 선택 쿼리입니다
  • " | " 대안을 나타냅니다
  • “[어디 조건 | GROUP BY `field_name(s)` HAVING 조건” 쿼리 결과 집합을 필터링하는 데 사용되는 선택적 조건입니다.
  • "주문" 쿼리 결과 집합 정렬을 수행합니다.
  • “[ASC | 설명]” 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용되는 키워드입니다. 메모 ASC 기본값으로 사용됩니다.
  • DESC 및 ASC 키워드는 무엇입니까?

    DESC 및 ASC 키워드ASC는 오름차순의 약어입니다. DESC 및 ASC 키워드MySQL DESC는 내림차순의 약식입니다.
    쿼리 결과를 위에서 아래로 정렬하는 데 사용됩니다. 쿼리 결과를 아래에서 위로 정렬하는 데 사용됩니다.
    날짜 데이터 유형을 작업할 때 가장 빠른 날짜가 목록 상단에 표시됩니다. . 날짜 유형 작업 시 최신 날짜가 목록 상단에 표시됩니다.
    숫자 데이터 유형으로 작업할 때 가장 낮은 값이 목록 상단에 표시됩니다. 숫자 데이터 유형으로 작업할 때 가장 높은 값이 쿼리 결과 세트 상단에 표시됩니다.
    문자열 데이터 유형으로 작업할 때 쿼리 결과 집합은 문자 A로 시작하여 문자 Z까지 정렬됩니다. 문자열 데이터 유형으로 작업할 때 쿼리 결과 집합은 문자 Z로 시작하는 항목부터 문자 A까지 정렬됩니다.

    SQL DESC 및 ASC 키워드는 모두 SELECT 문 및 MySQL ORDER BY 절과 함께 사용됩니다.


    DESC 및 ASC 구문

    SQL DESC 정렬 키워드에는 다음이 있습니다.wing 기본 구문.

    SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

    여기를 클릭하십시오.

    • SELECT {필드 이름 | *} 테이블 이름에서 결과 세트를 가져올 필드와 테이블이 포함된 명령문입니다.
    • [WHERE 조건] 선택 사항이지만 주어진 조건에 따라 데이터를 필터링하는 데 사용할 수 있습니다.
    • 주문 fieldname(s)은 필수이며 정렬이 수행될 필드입니다. MySQL DESC 키워드는 정렬이 내림차순으로 이루어지도록 지정합니다.
    • [한계] 선택 사항이지만 쿼리 결과 집합에서 반환되는 결과 수를 제한하는 데 사용할 수 있습니다.

    예 :

    이제 실제적인 예를 살펴보겠습니다.

    SELECT * FROM members;

    myflixdb에 대해 MySQL 워크벤치에서 위 스크립트를 실행하면 다음과 같은 결과가 나옵니다.wing 아래에 표시된 결과.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553


마케팅 부서가 구성원을 원한다고 가정해 보겠습니다.tails 생년월일 내림차순으로 정렬. 이렇게 하면 적시에 생일 축하 인사를 보내는 데 도움이 됩니다. 아래와 같은 쿼리를 실행하여 해당 목록을 얻을 수 있습니다.

SELECT * FROM members ORDER BY date_of_birth DESC;

myflixdb에 대해 MySQL 워크벤치에서 위 스크립트를 실행하면 다음과 같은 결과가 나옵니다.wing 아래에 표시된 결과.

DESC 및 ASC 예

동일한 쿼리를 오름차순으로

SELECT * FROM 회원 ORDER BY date_of_birth ASC

DESC 및 ASC 예

참고: NULL 값은 값이 없음(XNUMX 또는 빈 문자열이 아님)을 의미합니다. 정렬된 방식을 관찰하세요.

더 많은 예제

다음을 고려해 봅시다.wing 모든 회원 기록을 나열하는 스크립트를 기준으로 SQL을 정렬합니다.

SELECT * FROM `members`;

위의 스크립트를 실행하면 다음과 같은 내용이 제공됩니다.wing 아래에 표시된 결과.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL


성별 필드를 사용하여 쿼리 결과 집합을 정렬하는 목록을 얻고 싶다고 가정하면 아래에 표시된 스크립트를 사용합니다.

SELECT * FROM `members` ORDER BY `gender`;
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

"여성" 멤버가 먼저 표시되고 "남성" 멤버가 표시됩니다. 이는 ASC 또는 MySQL DESC 키워드를 지정하지 않고 ORDER BY DESC 절을 사용할 경우 기본적으로 MySQL이 쿼리 결과 집합을 오름차순으로 정렬하기 때문입니다.

이제 다음을 수행하는 예를 살펴보겠습니다. 두 개의 열을 사용하여 정렬; 첫 번째는 분류 in 오름차순 기본적으로 두 번째 열은 분류 in 내림차순.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

myflixdb에 대해 MySQL 워크벤치에서 위 스크립트를 실행하면 다음과 같은 결과가 나타납니다.wing 결과.

DESC 및 ASC 예

성별 열은 기본적으로 오름차순으로 정렬되었으며, 생년월일 열은 명시적으로 내림차순으로 정렬되었습니다.

DESC와 ASC를 사용하는 이유는 무엇입니까?

프론트 데스크의 문의에 대한 답변을 돕기 위해 비디오 라이브러리 회원의 지불 내역을 인쇄한다고 가정해 보겠습니다. 최근 지불부터 시작하여 이전 지불까지 내림차순으로 지불을 인쇄하는 것이 더 논리적이지 않습니까?

SQL의 DESC는 이러한 상황에서 유용한 키워드입니다. 결제 날짜를 기준으로 내림차순으로 목록을 정렬하는 쿼리를 작성할 수 있습니다.

마케팅 부서에서 회원들이 영화를 대여할 때 도서관에서 어떤 영화를 볼 수 있는지 결정하는 데 사용할 수 있는 카테고리별 영화 목록을 얻고자 한다고 가정해 보겠습니다. 영화 카테고리 이름과 제목을 오름차순으로 정렬하는 것이 더 논리적이지 않을까요? 회원들은 목록에서 정보를 빠르게 조회할 수 있나요?

ASC 키워드는 이러한 상황에서 유용합니다. 카테고리 이름과 영화 제목을 기준으로 오름차순으로 정렬된 영화 목록을 얻을 수 있습니다.

요약

  • 쿼리 결과 정렬은 쿼리 결과 집합에서 반환된 행을 오름차순 또는 내림차순으로 다시 정렬하는 것입니다.
  • SQL의 DESC 키워드는 쿼리 결과 집합을 내림차순으로 정렬하는 데 사용됩니다.
  • ASC 키워드는 쿼리 결과 집합을 오름차순으로 정렬하는 데 사용됩니다.
  • DESC와 ASC는 모두 ORDER BY 키워드와 함께 작동합니다. 다음과 같은 다른 키워드와 함께 사용할 수도 있습니다. WHERE 절 그리고 LIMIT
  • 명시적으로 지정된 것이 없는 경우 ORDER BY의 기본값은 ASC입니다.