mysql에서는 "SELECT" 문과 "ORDER BY" 키워드를 사용하여 오름차순 쿼리를 구현할 수 있으며 구문은 "SELECT {*|필드 열 이름} FROM 테이블 이름 [WHERE 조건] GROUP BY 필드 이름 ASC; ".
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
mysql에서는 "SELECT" 문과 "ORDER BY" 키워드를 사용하여 오름차순 쿼리를 구현할 수 있습니다.
SELECT 문은 데이터를 쿼리하는 데 사용되며, ORDER BY 키워드는 주로 쿼리 결과에 있는 데이터를 특정 순서로 정렬하는 데 사용됩니다.
기본 문법:
SELECT {*|字段列名} FROM 表名 [WHERE 条件] GROUP BY 字段名 [ASC|DESC];
문법은 아래에 설명되어 있습니다.
필드 이름: 정렬해야 하는 필드의 이름을 나타냅니다. 필드가 여러 개인 경우 쉼표로 구분합니다.
ASC|DESC: ASC는 필드가 오름차순으로 정렬됨을 의미하고, DESC는 필드가 내림차순으로 정렬됨을 의미합니다. ASC가 기본값입니다.
ORDER BY 키워드를 사용할 때 다음 측면에 주의해야 합니다.
ORDER BY 키워드 뒤에는 하위 쿼리가 올 수 있습니다(하위 쿼리는 이후 튜토리얼에서 자세히 설명할 예정입니다. 여기에서 배우세요). .
정렬된 필드에 null 값이 있는 경우 ORDER BY는 null 값을 최소값으로 처리합니다.
ORDER BY 정렬을 위해 여러 필드를 지정하면 MySQL은 필드 순서에 따라 왼쪽에서 오른쪽으로 정렬합니다.
단일 필드 정렬
다음에서는 ORDER BY가 단일 필드를 지정할 때 MySQL이 쿼리 결과를 정렬하는 방법을 보여주기 위해 특정 예를 사용합니다.
예제 1
다음은 tb_students_info 테이블의 모든 레코드를 쿼리하고 높이 필드를 정렬하는 SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT * FROM tb_students_info ORDER BY height; +----+--------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+--------+---------+------+------+--------+------------+ | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.08 sec)
결과에서 볼 수 있듯이 MySQL은 쿼리의 height 필드에 있는 데이터를 값의 크기에 따라 오름차순으로 정렬합니다.
다중 필드 정렬
다음에서는 ORDER BY가 여러 필드를 지정할 때 MySQL이 쿼리 결과를 정렬하는 방법을 보여주기 위해 특정 예를 사용합니다.
예제 2
tb_students_info 테이블의 name 및 height 필드를 쿼리하여 높이순으로 정렬한 다음 이름순으로 정렬합니다.
mysql> SELECT name,height FROM tb_students_info ORDER BY height,name; +--------+--------+ | name | height | +--------+--------+ | Green | 158 | | Dany | 160 | | Jane | 162 | | Lily | 165 | | Tom | 165 | | Susan | 170 | | John | 172 | | Jim | 175 | | Thomas | 178 | | Henry | 185 | +--------+--------+ 10 rows in set (0.09 sec)
참고: 여러 필드를 정렬할 때 정렬할 첫 번째 필드의 값이 같아야 두 번째 필드가 정렬됩니다. 첫 번째 필드 데이터의 모든 값이 고유한 경우 MySQL은 더 이상 두 번째 필드를 정렬하지 않습니다.
기본적으로 쿼리 데이터는 알파벳 오름차순(A~Z)으로 정렬되지만, 이에 국한되지 않고 ORDER BY에서 DESC를 사용하여 쿼리 결과를 내림차순(Z~)으로 정렬할 수도 있습니다. 에이).
예제 3
tb_students_info 테이블을 쿼리하여 먼저 높이 기준으로 내림차순으로 정렬한 다음 이름 기준으로 오름차순으로 정렬합니다. SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT name,height FROM tb_student_info ORDER BY height DESC,name ASC; +--------+--------+ | name | height | +--------+--------+ | Henry | 185 | | Thomas | 178 | | Jim | 175 | | John | 172 | | Susan | 170 | | Lily | 165 | | Tom | 165 | | Jane | 162 | | Dany | 160 | | Green | 158 | +--------+--------+ 10 rows in set (0.00 sec)
DESC 키워드는 이전 열만 내림차순으로 정렬하는데, 여기서는 높이 필드만 내림차순으로 정렬됩니다. 따라서 높이는 내림차순으로 정렬되고 이름은 여전히 오름차순으로 정렬됩니다. 여러 열을 내림차순으로 정렬하려면 각 열에 DESC 키워드를 지정해야 합니다.
【관련 추천: mysql 비디오 튜토리얼】
위 내용은 mysql에서 오름차순 쿼리를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!