Straipsnių katalogas
MySQL kelių laukų rūšiavimas? MySQL ORDER BY mažėjimo/didėjimo tvarka užklausos sakinys/funkcija
MySQL rūšiavimas
Mes žinome, kad duomenims iš MySQL lentelės skaityti reikia naudoti SQL SELECT teiginį.
Jei reikia rūšiuoti nuskaitytus duomenis, galime naudoti „MySQL“ ORDER BY sąlygą, kad nurodytume, kurį lauką ir rūšiavimo metodą norime naudoti, o tada grąžintume paieškos rezultatus.
gramatika
Toliau pateikiamas SQL SELECT sakinys, kuris naudoja sąlygą ORDER BY, kad surūšiuotų užklausos duomenis prieš grąžinant duomenis:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- Galite naudoti bet kurį lauką kaip rūšiavimo sąlygą, kad pateiktumėte surūšiuotus užklausos rezultatus.
- Galite nustatyti kelis rūšiuojamus laukus.
- Galite naudoti ASC arba DESC raktinius žodžius, norėdami nustatyti, kad užklausos rezultatai būtų rūšiuojami didėjančia arba mažėjančia tvarka.Pagal numatytuosius nustatymus jis pateikiamas didėjančia tvarka.
- Norėdami nustatyti sąlygas, galite pridėti WHERE...LIKE sąlygas.
Komandinėje eilutėje naudokite sąlygą ORDER BY
SQL SELECT sakinyje bus naudojama sąlyga ORDER BY, kad nuskaitytų duomenis MySQL duomenų lentelėje chenweiliang_tbl:
pavyzdys
Išbandykite toliau pateiktus pavyzdžius ir rezultatai bus surūšiuoti didėjimo ir mažėjimo tvarka.
SQL rūšiavimas
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)
Perskaitykite visus chenweiliang_tbl lentelės duomenis ir surūšiuokite didėjančia tvarka pagal pateikimo_datos lauką.
ORDER BY sąlygos naudojimas PHP scenarijuje
Norėdami gauti duomenis, galite naudoti PHP funkciją mysqli_query() ir tą pačią SQL SELECT komandą su sąlyga ORDER BY.
Ši funkcija naudojama vykdyti SQL komandas ir išvesti visus užklaustus duomenis per PHP funkciją mysqli_fetch_array().
pavyzdys
Išbandykite šį pavyzdį: užklausti duomenys pateikiami lauke pateikimo_data mažėjančia tvarka.
MySQL ORDER BY testas:
<?
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);
?>Tikiuosi, kad straipsnis „MySQL kelių laukų sąlygų rūšiavimas? MySQL ORDER BY mažėjimo/didėjimo tvarka užklausos sakinys/funkcija“, kuriuo pasidalinta Chen Weiliang tinklaraštyje ( https://www.chenweiliang.com/ ), jums bus naudingas.
Nedvejodami pasidalinkite šio straipsnio nuoroda: https://www.chenweiliang.com/cwl-476.html
