mysql에서는 SELECT 문과 "ORDER BY" 키워드를 사용하여 쿼리 정렬 기능을 구현할 수 있습니다. 구문은 "SELECT * FROM 데이터 테이블 이름 ORDER BY 필드 이름 [ASC|DESC]"입니다. 설정되어 있으면 오름차순으로 정렬할 수 있으며 "DESC"를 사용하여 내림차순으로 정렬할 수 있습니다.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
mysql에서는SELECT
문과 "ORDER BY
" 키워드를 사용하여 쿼리 정렬 효과를 얻을 수 있습니다.SELECT
语句和“ORDER BY
”关键字实现查询排序效果。
SELECT
语句可以查询数据,而ORDER BY
关键字可以将查询结果中的数据按照一定的顺序进行排序
语法:
SELECT * FROM 数据表名 ORDER BY 字段名 [ASC|DESC]
语法说明如下。
字段名:表示需要排序的字段名称,多个字段时用逗号隔开。
ASC|DESC
:ASC
表示字段按升序排序;DESC
表示字段按降序排序。其中ASC
为默认值。
使用ORDER BY
关键字应该注意以下几个方面:
ORDER BY
关键字后可以跟子查询。
当排序的字段中存在空值时,ORDER BY
会将该空值作为最小值来对待。
ORDER BY
SELECT
문은 데이터를 쿼리할 수 있으며,
ORDER BY
키워드는 쿼리 결과의 데이터를 특정 순서로 정렬할 수 있습니다.
구문:
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)
필드 이름: 정렬해야 하는 필드의 이름을 나타냅니다. 필드가 여러 개인 경우 쉼표로 구분하세요.
ASC|DESC
:ASC
는 필드가 오름차순으로 정렬됨을 의미하고,DESC
는 필드가 내림차순으로 정렬됨을 의미합니다. . 그 중ASC
가 기본값입니다.ORDER BY
키워드를 사용할 때는 다음 사항에 주의해야 합니다.
ORDER BY code> 키워드 뒤에는 하위 쿼리가 올 수 있습니다. - 정렬된 필드에 null 값이 있는 경우
ORDER BY
는 null 값을 최소값으로 처리합니다.
ORDER BY
정렬을 위해 여러 필드를 지정할 때 MySQL은 필드 순서에 따라 왼쪽에서 오른쪽으로 정렬합니다.
단일 필드 정렬다음에서는 ORDER BY가 단일 필드를 지정할 때 MySQL이 쿼리 결과를 정렬하는 방법을 보여주기 위해 특정 예를 사용합니다.예제 1
다음은 tb_students_info 테이블의 모든 레코드를 쿼리하고 높이 필드를 정렬하는 SQL 문과 실행 결과는 다음과 같습니다.
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은 쿼리의 height 필드에 있는 데이터를 값의 크기에 따라 오름차순으로 정렬합니다.다음에서는 ORDER BY가 여러 필드를 지정할 때 MySQL이 쿼리 결과를 정렬하는 방법을 보여주기 위해 특정 예를 사용합니다. 예제 2 tb_students_info 테이블의 name 및 height 필드를 쿼리하여 높이순으로 정렬한 다음 이름순으로 정렬하면 다음과 같습니다.
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)
로그인 후 복사
참고: 여러 필드를 정렬할 때 정렬할 첫 번째 필드의 값이 같아야 두 번째 필드가 정렬됩니다. 첫 번째 필드 데이터의 모든 값이 고유한 경우 MySQL은 더 이상 두 번째 필드를 정렬하지 않습니다. 기본적으로 쿼리 데이터는 알파벳 오름차순(A~Z)으로 정렬되지만, 이에 국한되지 않고 ORDER BY에서 DESC를 사용하여 쿼리 결과를 내림차순(Z~)으로 정렬할 수도 있습니다. 에이). 예제 3 tb_students_info 테이블을 쿼리하여 먼저 높이 기준으로 내림차순으로 정렬한 다음 이름 기준으로 오름차순으로 정렬한 SQL 문과 실행 결과는 다음과 같습니다. rrreeeDESC 키워드는 이전 열만 내림차순으로 정렬하는데, 여기서는 높이 필드만 내림차순으로 정렬됩니다. 따라서 높이는 내림차순으로 정렬되고 이름은 여전히 오름차순으로 정렬됩니다. 여러 열을 내림차순으로 정렬하려면 각 열에 DESC 키워드를 지정해야 합니다. 【관련 추천: mysql 비디오 튜토리얼】위 내용은 mysql에서 쿼리 및 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!