쿼리에서 정렬 기능을 추가하기 위해서는 ORDER BY 키워드를 사용합니다. 정렬은 컬 럼 값을 기준으로 오름차순(ASC), 내림차순(DESC) 정렬을 할 수 있습니다.

| 쿼리 문법 |

~ ORDER BY 컬럼명 정렬 방식; 

SELECT 쿼리 문장 마지막에 ORDER BY 컬럼명을 추가하여 정렬할 수 있습니다.

  • ASC: 오름차순
  • DESC: 내림차순

14.1.1 쿼리 실습

회원 목록 테이블에서 Id 값을 기준으로 내림차순 정렬을 합니다.

| 예제 쿼리 |

select * from members order by Id desc; 

| 콘솔 실습 화면 |

mysql> select * from members order by Id desc;
+----+----------+-----------+-------------+-------+---------+
| Id | LastName | FirstName | Address     | City  | Country |
+----+----------+-----------+-------------+-------+---------+
|  4 | eric     | jung      | seocho-gu   | seoul | korea   |
|  3 | james    | kim       | youngdun-po | seoul | korea   |
|  2 | jiny     | NULL      | NULL        | NULL  | korea   |
|  1 | hojin    | lee       | shinchon    | seoul | korea   |
+----+----------+-----------+-------------+-------+---------+
4 rows in set (0.00 sec)

위의 예제는 데이터 출력 시 Id 값 내림차순으로 변경하여 출력합니다.

만일 정렬해야 하는 컬럼이 여러 개일 경우 콤마 (,)를 통하여 정렬할 컬럼을 추가할 수 있 습니다.

| 예제 쿼리 |

SELECT * FROM members ORDER BY Country, City; 

또는 여러 컬럼을 정렬할 때 컬럼별로 정렬 방식을 지정할 수도 있습니다.

| 예제 쿼리 |

SELECT * FROM members ORDER BY Country ASC, City DESC; 

14.1.2 PHP 실습

PHP 코드를 통하여 생성한 쿼리에 정렬을 추가하여 실행하도록 합니다.

| PHP 예제 | mysql.class.php 파일에 메서드 예제를 추가합니다.

public function orderBy($query,$by)
{
    return $query . " ORDER BY " . $by;
}

예제 파일 | orderby-01.php

<?php

	include "dbinfo.php";
	include "mysql.class.php";
 
	// ++ Mysqli DB 연결.
	$db = new JinyMysql();

	$query = "select FirstName, LastName, City, Country from members";
	$queryString = $db->orderBy($query,"Country ASC, City DESC");

	if ($rowss = $db->selectRowss($queryString)) {
		echo "tables fields = ". count($rowss) . "<br>";
 
		for ($i=0;$i<count($rowss);$i++) {
			echo $i."=";            
			print_r($rowss[$i]);
			echo "<br>";
		}
	}

?>

화면 출력

mysql connected!
쿼리성공] select FirstName, LastName, City, Country from members ORDER BY Country ASC, City DESC
tables fields = 6
0=stdClass Object ( [FirstName] => lee [LastName] => hojin [City] => seoul [Country] => Korea ) 
1=stdClass Object ( [FirstName] => kim [LastName] => james [City] => seoul [Country] => Korea ) 
2=stdClass Object ( [FirstName] => hojin [LastName] => lee [City] => [Country] => Korea ) 
3=stdClass Object ( [FirstName] => jiny [LastName] => 1234 [City] => [Country] => Korea ) 
4=stdClass Object ( [FirstName] => jiny [LastName] => 1234 [City] => [Country] => Korea ) 
5=stdClass Object ( [FirstName] => jiny [LastName] => 123400 [City] => [Country] => Korea )