Upangaji wa masharti wa sehemu nyingi za MySQL? Agiza MySQL kwa kushuka kwa taarifa ya hoja/kazi ya kupanda

MySQL inapanga sehemu nyingi? MySQL inapanga kwa kushuka/kupanda taarifa/kazi ya oda/mpangilio

Aina ya MySQL

Tunajua kutumia taarifa ya SQL SELECT kusoma data kutoka kwa jedwali la MySQL.

Ikiwa tunahitaji kupanga data iliyosomwa, tunaweza kutumia kifungu cha MySQL cha ORDER BY kubainisha ni sehemu gani na njia gani ya kupanga tunayotaka kutumia, na kisha kurudisha matokeo ya utafutaji.

sarufi

Ifuatayo ni taarifa ya SQL SELECT ambayo hutumia ORDER BY kifungu kupanga data ya hoja kabla ya kurudisha data:

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Unaweza kutumia sehemu yoyote kama hali ya kupanga ili kurejesha matokeo ya hoja yaliyopangwa.
  • Unaweza kuweka sehemu nyingi za kupanga.
  • Unaweza kutumia manenomsingi ya ASC au DESC ili kuweka matokeo ya hoja yatapangwa kwa mpangilio wa kupanda au kushuka.Kwa chaguo-msingi, iko katika mpangilio wa kupanda.
  • Unaweza kuongeza WAPI...LIKE vifungu ili kuweka masharti.

Kwa kutumia kifungu cha ORDER BY katika haraka ya amri

Ifuatayo itatumia kifungu cha ORDER BY katika taarifa ya SQL SELECT kusoma data katika jedwali la data la MySQL chenweiliang_tbl:

Mfano

Jaribu mifano iliyo hapa chini na matokeo yatapangwa kwa mpangilio wa kupanda na kushuka.

Aina ya 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)

Soma data yote katika jedwali la chenweiliang_tbl na upange kwa mpangilio wa kupanda kwa uga wa tarehe_ya kuwasilisha.


Kwa kutumia kifungu cha ORDER BY katika hati ya PHP

Unaweza kutumia kazi ya PHP mysqli_query() na amri sawa ya SQL SELECT na kifungu cha ORDER BY kupata data.

Chaguo hili la kukokotoa hutumika kutekeleza amri za SQL na kisha kutoa data yote iliyoulizwa kupitia kazi ya PHP mysqli_fetch_array().

Mfano

Jaribu mfano ufuatao, data iliyoulizwa inarejeshwa kwa mpangilio wa kushuka wa sehemu ya tarehe_ya kuwasilisha.

MySQL ORDER BY mtihani:

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

发表 评论

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

Kitabu ya Juu