Latest web development tutorials

MySQL tri

Nous savons que pour lire les données à l'aide instruction SQL SELECT de la table MySQL.

Si nous avons besoin de sorte de lire les données, nous pouvons utiliser ORDONNANCE MySQL BY clause dans laquelle vous souhaitez définir la manière dont champ pour trier, puis renvoyé dans les résultats de recherche.

la structure de base de données et les données utilisées dans cette section Téléchargement: w3big.sql .

grammaire

Ce qui suit est une instruction SQL SELECT utilise la clause ORDER BY pour trier les données de la requête, puis retourner les données:

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Vous pouvez utiliser un champ comme le genre de conditions pour retourner les résultats triés.
  • Vous pouvez définir plusieurs champs à trier.
  • Vous pouvez utiliser le mot-clé ASC ou DESC pour définir les résultats de la recherche par ordre croissant ou décroissant. Par défaut, il est dans l'ordre croissant.
  • Vous pouvez ajouter WHERE ... LIKE clause pour définir les conditions.

Clause ORDER BY dans l'invite de commande

Ce qui suit va utiliser la clause ORDER BY dans l'instruction SQL SELECT pour lire les données dans les tableaux de données MySQL w3big_tbl:

Exemples

Essayez les exemples suivants, les résultats seront disposés dans l'ordre croissant

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_tbl lire toutes les données de la table dans l'ordre croissant selon le domaine w3big_author.


Clause ORDER BY dans le script PHP

Les commandes que vous pouvez utiliser la fonction PHP mysql_query () et mettre sur le même SQL SELECT ORDER BY pour récupérer les données. Cette fonction est utilisée pour exécuter des commandes SQL, puis () pour les données de sortie pour toutes les requêtes par le biais de la fonction PHP mysql_fetch_array.

Exemples

Essayez les exemples suivants, les retours d'interrogation de données après avoir appuyé sur l'ordre décroissant w3big_author domaine.

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