>  기사  >  데이터 베이스  >  mysql에서 오름차순 쿼리를 구현하는 방법

mysql에서 오름차순 쿼리를 구현하는 방법

青灯夜游
青灯夜游원래의
2022-02-17 17:08:2512891검색

mysql에서는 "SELECT" 문과 "ORDER BY" 키워드를 사용하여 오름차순 쿼리를 구현할 수 있으며 구문은 "SELECT {*|필드 열 이름} FROM 테이블 이름 [WHERE 조건] GROUP BY 필드 이름 ASC; ".

mysql에서 오름차순 쿼리를 구현하는 방법

이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.