MariaDB - Ordenar por cláusula
los ORDER BYcláusula, como se mencionó en discusiones anteriores, ordena los resultados de una declaración. Especifica el orden de los datos operados e incluye la opción de ordenar en orden ascendente (ASC) o descendente (DESC). En caso de omisión de la especificación del pedido, el orden predeterminado es ascendente.
Las cláusulas ORDER BY aparecen en una amplia variedad de declaraciones, como DELETE y UPDATE. Siempre aparecen al final de una declaración, no en una subconsulta o antes de una función establecida, porque operan en la tabla resultante final. Tampoco puede utilizar un número entero para identificar una columna.
Revise la sintaxis general de la cláusula ORDER BY que se indica a continuación:
SELECT field, field2,... [or column] FROM table_name, table_name2,...
ORDER BY field, field2,... ASC[or DESC]
Utilice una cláusula ORDER BY en el símbolo del sistema o dentro de un script PHP.
El símbolo del sistema
En el símbolo del sistema, simplemente use un comando estándar:
root@ 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 la cláusula Order By
Utilice el mysql_query() función, una vez más, en declaraciones que emplean la 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);
?>
En la recuperación de datos exitosa, verá el siguiente resultado:
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