¿Clasificación condicional de múltiples campos de MySQL? Orden de MySQL por instrucción/función de consulta ascendente descendente

¿Ordenación de múltiples campos en MySQL ? Consulta/función ORDER BY de MySQL para orden descendente/ascendente.

ordenación de MySQL

Sabemos usar la instrucción SQL SELECT para leer datos de la tabla MySQL.

Si necesitamos ordenar los datos leídos, podemos usar la cláusula ORDER BY de MySQL para especificar qué campo y método de ordenación queremos usar, y luego devolver los resultados de la búsqueda.

gramática

La siguiente es una instrucción SQL SELECT que usa la cláusula ORDER BY para ordenar los datos de la consulta antes de devolverlos:

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Puede utilizar cualquier campo como condición de ordenación para devolver resultados de consulta ordenados.
  • Puede establecer varios campos para ordenar.
  • Puede utilizar las palabras clave ASC o DESC para configurar los resultados de la consulta para que se clasifiquen en orden ascendente o descendente.Por defecto, está en orden ascendente.
  • Puede agregar cláusulas WHERE...LIKE para establecer condiciones.

Uso de la cláusula ORDER BY en el símbolo del sistema

Lo siguiente utilizará la cláusula ORDER BY en la instrucción SQL SELECT para leer los datos en la tabla de datos MySQL chenweiliang_tbl:

Ejemplo

Pruebe los ejemplos a continuación y los resultados se clasificarán en orden ascendente y descendente.

ordenamiento SQL

mysql> use chenweiliang;
Database changed
mysql> SELECT * from chenweiliang_tbl ORDER BY submission_date ASC;
+-----------+---------------+---------------+-----------------+
| chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | 学习 Java | chenweiliang.com | 2015-05-01 |
| 4 | 学习 Python | chenweiliang.com | 2016-03-06 |
| 1 | 学习 PHP | 陈沩亮博客 | 2017-04-12 |
| 2 | 学习 MySQL | 陈沩亮博客 | 2017-04-12 |
+-----------+---------------+---------------+-----------------+
4 rows in set (0.01 sec)
 
mysql> SELECT * from chenweiliang_tbl ORDER BY submission_date DESC;
+-----------+---------------+---------------+-----------------+
| chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 1 | 学习 PHP | 陈沩亮博客 | 2017-04-12 |
| 2 | 学习 MySQL | 陈沩亮博客 | 2017-04-12 |
| 4 | 学习 Python | chenweiliang.com | 2016-03-06 |
| 3 | 学习 Java | chenweiliang.com | 2015-05-01 |
+-----------+---------------+---------------+-----------------+
4 rows in set (0.01 sec)

Lea todos los datos en la tabla chenweiliang_tbl y clasifíquelos en orden ascendente por el campo de fecha de envío.


Usando la cláusula ORDER BY en un script PHP

Puede usar la función PHP mysqli_query() y el mismo comando SQL SELECT con una cláusula ORDER BY para obtener los datos.

Esta función se usa para ejecutar comandos SQL y luego generar todos los datos consultados a través de la función PHP mysqli_fetch_array().

Ejemplo

Pruebe el siguiente ejemplo, los datos consultados se devuelven en orden descendente del campo de fecha_envío.

MySQL ORDEN POR prueba:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl
 ORDER BY submission_date ASC';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 MySQL ORDER BY 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Ir al Inicio