MySQL margreitta skilyrt flokkun? MySQL röð með lækkandi stígandi fyrirspurnaryfirlýsingu/aðgerð

MySQL fjölreita röðun? MySQL ORDER BY lækkandi/hækkandi röð fyrirspurnarsetning/fall

MySQL flokkun

Við vitum að nota SQL SELECT setningu til að lesa gögn úr MySQL töflunni.

Ef við þurfum að flokka lesnu gögnin getum við notað ORDER BY klausulinn í MySQL til að tilgreina hvaða reit og flokkunaraðferð við viljum nota og síðan skilað leitarniðurstöðunum.

málfræði

Eftirfarandi er SQL SELECT setning sem notar ORDER BY ákvæðið til að flokka fyrirspurnargögnin áður en gögnunum er skilað:

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Þú getur notað hvaða reit sem er sem flokkunarskilyrði til að skila röðuðum fyrirspurnarniðurstöðum.
  • Þú getur stillt marga reiti til að flokka.
  • Þú getur notað ASC eða DESC lykilorðin til að stilla niðurstöður fyrirspurna þannig að þær séu flokkaðar í hækkandi eða lækkandi röð.Sjálfgefið er að það sé í hækkandi röð.
  • Þú getur bætt við WHERE...LIKE ákvæðum til að setja skilyrði.

Notaðu ORDER BY ákvæðið í skipanalínunni

Eftirfarandi mun nota ORDER BY-ákvæðið í SQL SELECT setningunni til að lesa gögnin í MySQL gagnatöflunni chenweiliang_tbl:

Dæmi

Prófaðu dæmin hér að neðan og niðurstöðunum verður raðað í hækkandi og lækkandi röð.

SQL flokkun

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)

Lestu öll gögnin í chenweiliang_tbl töflunni og flokkaðu í hækkandi röð eftir submission_date reitnum.


Notkun ORDER BY ákvæðisins í PHP handriti

Þú getur notað PHP fallið mysqli_query() og sömu SQL SELECT skipunina með ORDER BY ákvæði til að fá gögnin.

Þessi aðgerð er notuð til að framkvæma SQL skipanir og gefa síðan út öll umrædd gögn í gegnum PHP aðgerðina mysqli_fetch_array().

Dæmi

Prófaðu eftirfarandi dæmi, gögnin sem spurt er um er skilað í lækkandi röð í reitnum submission_date.

MySQL ORDER BY próf:

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

发表 评论

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

Flettu að Top