Мақала анықтамалығы
MySQL көп өрісті сұрыптау? MySQL кему/өсу ретімен РЕТТЕУ Сұрау операторы/функциясы
MySQL сұрыптауы
MySQL кестесінен деректерді оқу үшін SQL SELECT операторын пайдалануды білеміз.
Егер оқылған деректерді сұрыптау қажет болса, MySQL-дің ORDER BY сөйлемін пайдаланып, қай өрісті және сұрыптау әдісін қолданғымыз келетінін көрсетіп, іздеу нәтижелерін қайтара аламыз.
грамматика
Төменде деректерді қайтармас бұрын сұрау деректерін сұрыптау үшін ORDER BY сөйлемін пайдаланатын SQL SELECT мәлімдемесі берілген:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- Сұрыпталған сұрау нәтижелерін қайтару үшін кез келген өрісті сұрыптау шарты ретінде пайдалануға болады.
- Сұрыптау үшін бірнеше өрістерді орнатуға болады.
- Өсу немесе кему ретімен сұрыпталатын сұрау нәтижелерін орнату үшін ASC немесе DESC кілт сөздерін пайдалануға болады.Әдепкі бойынша ол өсу ретімен орналасады.
- Шарттарды орнату үшін WHERE...LIKE сөйлемдерін қосуға болады.
Пәрмен жолында ORDER BY сөйлемін пайдалану
Төменде MySQL деректер кестесіндегі chenweiliang_tbl деректерін оқу үшін SQL SELECT мәлімдемесіндегі ORDER BY сөйлемін пайдаланады:
Дана
Төмендегі мысалдарды қолданып көріңіз және нәтижелер өсу және кему ретімен сұрыпталады.
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)
chenweiliang_tbl кестесіндегі барлық деректерді оқыңыз және жіберу_күні өрісі бойынша өсу ретімен сұрыптаңыз.
РНР сценарийінде ORDER BY сөйлемін пайдалану
Деректерді алу үшін PHP функциясын mysqli_query() және сол SQL SELECT пәрменін ORDER BY сөйлемімен пайдалануға болады.
Бұл функция SQL пәрмендерін орындау үшін, содан кейін PHP mysqli_fetch_array() функциясы арқылы барлық сұралған деректерді шығару үшін пайдаланылады.
Дана
Келесі мысалды қолданып көріңіз, сұралған деректер жіберу_күні өрісінің кему ретімен қайтарылады.
MySQL тесті бойынша ТАПСЫРЫС:
<?
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);
?>Чен Вэйлиангтың блогында ( https://www.chenweiliang.com/ ) бөлісілген "MySQL көп өрісті шартты сұрыптау? MySQL кему/өсу ретімен реттелген сұраныс операторы/функциясы" мақаласы сізге пайдалы болады деп үміттенемін.
Осы мақаланың сілтемесін бөлісуден тартынбаңыз: https://www.chenweiliang.com/cwl-476.html
