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> 키워드 뒤에는 하위 쿼리가 올 수 있습니다. <p><span style="font-size: 18px;"><li><strong>정렬된 필드에 null 값이 있는 경우 <code>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 문과 실행 결과는 다음과 같습니다. 🎜rrreee🎜DESC 키워드는 이전 열만 내림차순으로 정렬하는데, 여기서는 높이 필드만 내림차순으로 정렬됩니다. 따라서 높이는 내림차순으로 정렬되고 이름은 여전히 오름차순으로 정렬됩니다. 여러 열을 내림차순으로 정렬하려면 각 열에 DESC 키워드를 지정해야 합니다. 🎜🎜【관련 추천: 🎜mysql 비디오 튜토리얼🎜】🎜
위 내용은 mysql에서 쿼리 및 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!