English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQL 테이블에서 SQL SELECT 문을 사용하여 데이터를 읽는 방법을 알고 있습니다.
데이터를 정렬해야 할 경우 MySQL의 ORDER BY 절을 사용할 수 있습니다. ORDER BY 어떤 필드를 사용하여 어떤 방식으로 정렬하려고 하는지 설정한 후 검색 결과를 반환하는 절을 설정합니다.
아래는 SQL SELECT 문에서 ORDER BY 절을 사용하여 쿼리 데이터를 정렬한 후 데이터를 반환하는 예제입니다:
SELECT 필드1, 필드2,...필드N FROM 테이블 이름1, 테이블 이름2... ORDER BY 필드1 [ASC [DESC][기본적으로 ASC]], [필드2...] [ASC [DESC][기본적으로 ASC]]
정렬된 쿼리 결과를 반환하기 위해 어떤 필드를 사용할지 설정할 수 있습니다.
여러 필드를 정렬할 수 있습니다.
ASC 또는 DESC 키워드를 사용하여 쿼리 결과가 오름차순 또는 내림차순으로 정렬되도록 설정할 수 있습니다. 기본적으로는 오름차순으로 정렬됩니다.
WHERE...LIKE 절을 추가하여 조건을 설정할 수 있습니다.
다음은 SQL SELECT 문에서 ORDER BY 절을 사용하여 MySQL 데이터 테이블 w를 읽습니다.3codebox_tbl에 있는 데이터:
다음 예제를 시도해 보세요. 결과는 오름차순 및 내림차순으로 정렬됩니다.
mysql> use w3codebox; 데이터베이스 변경됨 MariaDB [w3codebox]> SELECT * from w3codebox_tbl ORDER BY submission_date ASC; +----------+-------------+--------------+-----------------+ | w3codebox_id | w3codebox_title | w3codebox_author | submission_date | +----------+-------------+--------------+-----------------+ | 1 | PHP 학습 | oldtoolbag.com | 2018-04-14 | | 2 | MySQL 학습 | oldtoolbag.com | 2018-04-14 | | 3 | JAVA 교육 | oldtoolbag.com | 2018-04-14 | | 4 | Python 학습 | oldtoolbag.com | 2019-06-08 | +----------+-------------+--------------+-----------------+ 4 쿼리에서 가져온 행 (0.00 초) MariaDB [w3codebox]> SELECT * from w3codebox_tbl ORDER BY submission_date DESC; +----------+-------------+--------------+-----------------+ | w3codebox_id | w3codebox_title | w3codebox_author | submission_date | +----------+-------------+--------------+-----------------+ | 4 | Python 학습 | oldtoolbag.com | 2019-06-08 | | 1 | PHP 학습 | oldtoolbag.com | 2018-04-14 | | 2 | MySQL 학습 | oldtoolbag.com | 2018-04-14 | | 3 | JAVA 교육 | oldtoolbag.com | 2018-04-14 | +----------+-------------+--------------+-----------------+ 4 rows in set (0.02 sec)
w3codebox_tbl 테이블의 모든 데이터를 submission_date 필드의 오름차순으로 정렬합니다.
PHP 함수 mysqli_query() 및 동일한 SQL SELECT ORDER BY 절을 사용하여 데이터를 가져옵니다.
이 함수는 SQL 명령을 실행한 후 PHP 함수 mysqli_fetch_array()를 통해 모든 쿼리 데이터를 출력하는 데 사용됩니다.
다음 예제를 시도하여, 데이터를 검색한 후 submission_date 필드의 내림차순으로 정렬하여 반환합니다.
<?php $dbhost = 'localhost'; // MySQL 서버 호스트 주소 $dbuser = 'root'; // MySQL 사용자 이름 $dbpass = '123456'; // MySQL 사용자 이름 비밀번호 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('연결 실패: ' . mysqli_error($conn)); } // 编码 설정,中文 무좌표를 방지 mysqli_query($conn , "set names utf8"); $sql = 'SELECT w3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl ORDER BY submission_date ASC'; mysqli_select_db( $conn, 'w3codebox' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('데이터 읽기 실패: ' . mysqli_error($conn)); } echo '<h2">기본 강의 웹 MySQL ORDER BY 테스트<h2">;</ echo '<table border="1><tr><td> 강의 ID</td><td>제목</td><td>저자</td><td>제출 날짜</td></tr>'; while($row = mysqli_fetch_array($retval)) { echo "<tr><td> {$row['w3codebox_id']}</td> ". "<td>{$row['w3codebox_title']} </td> ". "<td>{$row['w3codebox_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
출력 결과는 다음과 같습니다: