MariaDB - Ordem por cláusula

o ORDER BYcláusula, como mencionado em discussões anteriores, classifica os resultados de uma declaração. Ele especifica a ordem dos dados operados e inclui a opção de classificar em ordem crescente (ASC) ou decrescente (DESC). Na omissão da especificação do pedido, o pedido padrão é crescente.

As cláusulas ORDER BY aparecem em uma ampla variedade de instruções, como DELETE e UPDATE. Eles sempre aparecem no final de uma instrução, não em uma subconsulta ou antes de uma função definida, pois operam na tabela final resultante. Você também não pode usar um número inteiro para identificar uma coluna.

Revise a sintaxe geral da cláusula ORDER BY fornecida abaixo -

SELECT field, field2,... [or column] FROM table_name, table_name2,...
ORDER BY field, field2,... ASC[or DESC]

Use uma cláusula ORDER BY no prompt de comando ou em um script PHP.

O Prompt de Comando

No prompt de comando, basta usar um comando padrão -

[email protected] host# mysql -u root -p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed

mysql> SELECT * from products_tbl ORDER BY product_manufacturer ASC
+-------------+----------------+----------------------+
| ID_number   | Nomenclature   | product_manufacturer |
+-------------+----------------+----------------------+
| 56789       | SuperBlast 400 | LMN Corp             |
+-------------+----------------+----------------------+
| 67891       | Zoomzoom 5000  | QFT Corp             |
+-------------+----------------+----------------------+
| 12347       | Orbitron 1000  | XYZ Corp             |
+-------------+----------------+----------------------+

Script PHP usando pedido por cláusula

Utilize o mysql_query() função, mais uma vez, em instruções que empregam a cláusula ORDER BY -

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'SELECT product_id, product_name, product_manufacturer, ship_date 
      FROM products_tbl ORDER BY product_manufacturer DESC';

   mysql_select_db('PRODUCTS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Product ID :{$row['product_id']} <br> ".
         "Name: {$row['product_name']} <br> ".
         "Manufacturer: {$row['product_manufacturer']} <br> ".
         "Ship Date : {$row['ship_date']} <br> ".
         "--------------------------------<br>";
   }

   echo "Fetched data successfully\n";
   mysql_close($conn);
?>

Na recuperação de dados bem-sucedida, você verá a seguinte saída -

Product ID: 12347
Nomenclature: Orbitron 1000
Manufacturer: XYZ Corp
Ship Date: 01/01/17
----------------------------------------------
Product ID: 67891
Nomenclature: Zoomzoom 5000
Manufacturer: QFT Corp
Ship Date: 01/01/17
----------------------------------------------
Product ID: 56789
Nomenclature: SuperBlast 400
Manufacturer: LMN Corp
Ship Date: 01/04/17
----------------------------------------------
mysql> Fetched data successfully