MySQLのソート
私たちは、MySQLのテーブルからSQL SELECT文を使用してデータを読み取ることがことを知っています。
私たちは、ソートのデータを読み取る必要がある場合は、我々はあなたがフィールドに並べ替えし、検索結果に返さするれる方法を設定するにBY句MySQLのORDERを使用することができます 。
このセクションのダウンロードに使用されるデータベースの構造とデータ: w3big.sql 。
文法
以下のSQL SELECTステートメントは、クエリデータをソートしてからデータを返すために、ORDER BY句を使用しています:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- あなたは、ソートされたクエリ結果を返すための条件の一種として、任意のフィールドを使用することができます。
- あなたは、ソートするために複数のフィールドを設定することができます。
- あなたは、昇順または降順で検索結果を設定するASCまたはDESCキーワードを使用することができます。 デフォルトでは、昇順です。
- あなたは条件を設定するには... LIKE句を追加することができます。
コマンドプロンプトでORDER BY句
以下は、MySQLのデータテーブル内のデータを読み取るためにSQLのSELECT文でORDER BY句を使用しますw3big_tbl:
例
以下の実施例を試し、結果を昇順に配置されます
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> SELECT * from w3big_tbl ORDER BY w3big_author ASC; +-----------+---------------+---------------+-----------------+ | w3big_id | w3big_title | w3big_author | submission_date | +-----------+---------------+---------------+-----------------+ | 2 | Learn MySQL | Abdul S | 2007-05-24 | | 1 | Learn PHP | John Poul | 2007-05-24 | | 3 | JAVA Tutorial | Sanjay | 2007-05-06 | +-----------+---------------+---------------+-----------------+ 3 rows in set (0.00 sec) mysql> SELECT * from w3big_tbl ORDER BY w3big_author DESC; +-----------+---------------+---------------+-----------------+ | w3big_id | w3big_title | w3big_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | JAVA Tutorial | Sanjay | 2007-05-06 | | 1 | Learn PHP | John Poul | 2007-05-24 | | 2 | Learn MySQL | Abdul S | 2007-05-24 | +-----------+---------------+---------------+-----------------+ 3 rows in set (0.00 sec) mysql>
w3big_authorフィールドに従って昇順にテーブル内のすべてのデータを読み取るW3big_tbl。
PHPスクリプト内のORDER BY句
あなたは、PHPの関数するmysql_query()を使用してデータを取得するためBY句同じSQL SELECT ORDER上に置くことができますコマンド。 この関数は、PHPの関数は、mysql_fetch_arrayを介してすべてのクエリのデータを出力するように()は、SQLコマンドを実行するために使用されます。例
次の例を試してみてください、データのクエリは、フィールドw3big_author降順を押した後に返します。
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT w3big_id, w3big_title, w3big_author, submission_date FROM w3big_tbl ORDER BY w3big_author DESC'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "Tutorial ID :{$row['w3big_id']} <br> ". "Title: {$row['w3big_title']} <br> ". "Author: {$row['w3big_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>