MySQLi - सॉर्टिंग परिणाम

हमने एसक्यूएल देखा है SELECTMySQLi तालिका से डेटा लाने के लिए कमांड। जब आप पंक्तियों का चयन करते हैं, तो MySQLi सर्वर उन्हें किसी भी क्रम में वापस करने के लिए स्वतंत्र है, जब तक कि आप इसे अन्यथा निर्देश न दें कि परिणाम को कैसे सॉर्ट करें। लेकिन आप उस परिणाम या स्तंभ को जोड़कर सेट किए गए एक परिणाम को सॉर्ट करते हैं जिसे आप जिस कॉलम या कॉलम के आधार पर क्रमबद्ध करना चाहते हैं उसे नाम देते हैं।

वाक्य - विन्यास

यहाँ MySQL टेबल से डेटा सॉर्ट करने के लिए ORDER BY क्लर्क के साथ सेलेक्ट कमांड का जेनेरिक SQL सिंटैक्स है -

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • आप किसी भी क्षेत्र पर वापस लौटे परिणाम को सॉर्ट कर सकते हैं बशर्ते कि दर्ज किया गया हो।

  • आप एक से अधिक फ़ील्ड पर परिणाम सॉर्ट कर सकते हैं।

  • आप आरोही या अवरोही क्रम में परिणाम प्राप्त करने के लिए कीवर्ड ASC या DESC का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, यह आरोही क्रम है।

  • आप WHERE का उपयोग कर सकते हैं ... शर्त लगाने के लिए सामान्य तरीके से क्लॉज़ को लाइक करें।

आदेश प्रॉम्प्ट पर खंड द्वारा आदेश का उपयोग करना

यह MySQLi table tutorial_inf से डेटा लाने के लिए ORDER BY क्लॉज के साथ SQL SELECT कमांड का उपयोग करेगा।

उदाहरण

निम्न उदाहरण का प्रयास करें, जिसके परिणामस्वरूप अवरोही क्रम होता है।

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> SELECT * from tutorials_inf ORDER BY id desc;
+----+-------+
| id | name  |
+----+-------+
|  4 | ram   |
|  3 | raghu |
|  2 | johar |
|  1 | sai   |
+----+-------+
4 rows in set (0.00 sec)

mysql>

सत्यापित करें कि सभी आईडी अवरोही क्रम में सूचीबद्ध हैं।

PHP स्क्रिप्ट के अंदर खंड द्वारा आदेश का उपयोग करना

आप PHP फ़ंक्शन में ORDER BY क्लॉज के समान सिंटैक्स का उपयोग कर सकते हैं mysqli_query()। इस फ़ंक्शन का उपयोग SQL कमांड और बाद में एक और PHP फ़ंक्शन को निष्पादित करने के लिए किया जाता हैmysqli_fetch_array() सभी चयनित डेटा लाने के लिए उपयोग किया जा सकता है।

उदाहरण

निम्नलिखित उदाहरण का प्रयास करें, जिसके परिणामस्वरूप ट्यूटोरियल लेखक का अवरोही क्रम होता है।

<?php
   $dbhost = 'localhost:3306';
   $dbuser = 'root';
   $dbpass = '';
   $dbname = 'TUTORIALS';
   $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
   
   if(! $conn ) {
      die('Could not connect: ' . mysqli_error());
   }
   echo 'Connected successfully</br>';
   $sql = 'SELECT * from tutorials_inf ORDER BY id desc';
   
   if($result = mysqli_query($conn, $sql)){
      if(mysqli_num_rows($result) > 0){
         echo "<table>";
         echo "<tr>";
         echo "<th>id</th>";
         echo "<th>name</th>";
         echo "</tr>";
         
         while($row = mysqli_fetch_array($result)){
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['name'] . "</td>";
            echo "</tr>";
         }
         echo "</table>";
         mysqli_free_result($result);
      } else {
         echo "No records matching your query were found.";
      }
   } else {
      echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn);
   }
   mysqli_close($conn);
?>

नमूना उत्पादन इस तरह होना चाहिए -

Connected successfully
id	name
4	ram
3	raghu
2	johar
1	sai