데이터 선택 및 정렬
ORDER BY 절은 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용된다.
ORDER BY 절은 기본적으로 레코드를 오름차순으로 정렬한다.
레코드를 내림차순으로 정렬하려면 DESC 키워드를 사용한다.
SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC
MySQLi 객체 지향
PHP
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
먼저 MyGuests 테이블에서 id, name 및 lastname 열을 선택하는 SQL 쿼리를 설정한다.
레코드는 성 열을 기준으로 정렬된다.
다음 코드 줄은 쿼리를 실행하고 결과 데이터를 $result라는 변수에 넣는다.
그런 다음 function num_rows()반환된 행이 0개 이상 있는지 확인한다.
반환된 행이 0개 이상인 경우 함수는 fetch_assoc()모든 결과를 반복할 수 있는 연관 배열에 넣는다.
while()루프는 결과 집합을 반복하고 id, firstname 및 lastname 열의 데이터를 출력한다.
결과를 HTML 테이블에 넣어보자.
PHP
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "
ID | Name |
---|---|
".$row["id"]." | ".$row["firstname"]." ".$row["lastname"]." |
MySQLi 절차
PHP
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } mysqli_close($conn); ?>
PDO
준비된 문을 사용해보자.
여기에서 MyGuests 테이블에서 id, name 및 lastname 열을 선택한다.
레코드는 성 열을 기준으로 정렬되며 HTML 테이블에 표시된다.
PHP
<?php echo "
Id | Firstname | Lastname | " . parent::current(). " | "; } function beginChildren() { echo "
---|---|---|
참고
W3C School - PHP MySQL Use The ORDER BY Clause
W3C School - SQL Tutorial
W3C School - PHP Tryit Editor