آرٹیکل ڈائرکٹری
MySQL ملٹی فیلڈ چھانٹی؟ مائی ایس کیو ایل آرڈر بذریعہ نزولی/صعودی ترتیب استفسار بیان/فنکشن
MySQL ترتیب
ہم MySQL ٹیبل سے ڈیٹا پڑھنے کے لیے SQL SELECT اسٹیٹمنٹ استعمال کرنا جانتے ہیں۔
اگر ہمیں پڑھے ہوئے ڈیٹا کو ترتیب دینے کی ضرورت ہے، تو ہم MySQL کی ORDER BY شق کا استعمال کر سکتے ہیں کہ ہم کون سا فیلڈ اور ترتیب دینے کا طریقہ استعمال کرنا چاہتے ہیں، اور پھر تلاش کے نتائج واپس کر سکتے ہیں۔
گرائمر
درج ذیل ایک SQL SELECT کا بیان ہے جو ڈیٹا واپس کرنے سے پہلے استفسار کے ڈیٹا کو ترتیب دینے کے لیے ORDER BY شق کا استعمال کرتا ہے۔
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- ترتیب شدہ استفسار کے نتائج کو واپس کرنے کے لیے آپ کسی بھی فیلڈ کو ترتیب کی شرط کے طور پر استعمال کر سکتے ہیں۔
- آپ ترتیب دینے کے لیے متعدد فیلڈز سیٹ کر سکتے ہیں۔
- آپ استفسار کے نتائج کو صعودی یا نزولی ترتیب میں ترتیب دینے کے لیے ASC یا DESC کلیدی الفاظ استعمال کر سکتے ہیں۔پہلے سے طے شدہ طور پر، یہ صعودی ترتیب میں ہے۔
- آپ شرائط طے کرنے کے لیے WHERE...LIKE شقیں شامل کر سکتے ہیں۔
کمانڈ پرامپٹ میں ORDER BY شق کا استعمال کرنا
MySQL ڈیٹا ٹیبل chenweiliang_tbl میں ڈیٹا کو پڑھنے کے لیے درج ذیل ایس کیو ایل SELECT اسٹیٹمنٹ میں ORDER BY شق کا استعمال کریں گے۔
مثال
ذیل کی مثالیں آزمائیں اور نتائج کو صعودی اور نزولی ترتیب میں ترتیب دیا جائے گا۔
ایس کیو ایل کی ترتیب
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 شق کے ساتھ استعمال کر سکتے ہیں۔
اس فنکشن کا استعمال ایس کیو ایل کمانڈز کو انجام دینے اور پھر پی ایچ پی فنکشن 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);
?>امید ہے کہ مضمون "MySQL ملٹی فیلڈ کنڈیشن چھانٹنا؟ MySQL ORDER BY Descending/Ascending Order Query Statement/Function" Chen Weiliang کے بلاگ ( https://www.chenweiliang.com/ ) پر شیئر کیا گیا آپ کے لیے مددگار ثابت ہوگا۔
اس مضمون کا لنک بلا جھجھک شیئر کریں: https://www.chenweiliang.com/cwl-476.html
