Latest web development tutorials

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);
?>