Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में रिकॉर्ड को रैंडम ऑर्डर करें और नाम को आरोही क्रम में दिखाएं

सबक्वेरी के साथ RAND() और ORDER BY का उपयोग

MySQL में आप सबक्वेरी का उपयोग करके पहले रिकॉर्ड को रैंडमली ऑर्डर कर सकते हैं, फिर बाहरी क्वेरी में नाम के अनुसार आरोही क्रम में सॉर्ट कर सकते हैं। सिंटैक्स:

SELECT * FROM (
    SELECT * FROM yourTableName ORDER BY RAND() LIMIT anyIntegerValue
) anyVariableName ORDER BY yourColumnName;

उदाहरण

एक टेबल बनाएं जिसमें ID और Name हों:

mysql> CREATE TABLE OrderByRandName (
    -> Id INT,
    -> Name VARCHAR(100)
    -> );

डेटा डालें:

mysql> INSERT INTO OrderByRandName VALUES(100,'John');
mysql> INSERT INTO OrderByRandName VALUES(101,'Bob');
mysql> INSERT INTO OrderByRandName VALUES(102,'Johnson');
mysql> INSERT INTO OrderByRandName VALUES(103,'David');
mysql> INSERT INTO OrderByRandName VALUES(104,'Smith');
mysql> INSERT INTO OrderByRandName VALUES(105,'Taylor');
mysql> INSERT INTO OrderByRandName VALUES(106,'Sam');
mysql> INSERT INTO OrderByRandName VALUES(107,'Robert');
mysql> INSERT INTO OrderByRandName VALUES(108,'Michael');
mysql> INSERT INTO OrderByRandName VALUES(109,'Mark');

सभी रिकॉर्ड देखें:

mysql> SELECT * FROM OrderByRandName;
+------+---------+
| Id   | Name    |
+------+---------+
| 100  | John    |
| 101  | Bob     |
| 102  | Johnson |
| 103  | David   |
| 104  | Smith   |
| 105  | Taylor  |
| 106  | Sam     |
| 107  | Robert  |
| 108  | Michael |
| 109  | Mark    |
+------+---------+

रैंडम ऑर्डर के बाद नाम के अनुसार ASC सॉर्ट

mysql> SELECT * FROM (
    -> SELECT * FROM OrderByRandName ORDER BY RAND() LIMIT 10
    -> ) tbl1 ORDER BY Name;

आउटपुट (नाम के अनुसार वर्णानुक्रम)

+------+---------+
| Id   | Name    |
+------+---------+
| 101  | Bob     |
| 103  | David   |
| 100  | John    |
| 102  | Johnson |
| 109  | Mark    |
| 108  | Michael |
| 107  | Robert  |
| 106  | Sam     |
| 104  | Smith   |
| 105  | Taylor  |
+------+---------+

नोट: आंतरिक सबक्वेरी RAND() से रैंडम पंक्तियां चुनती है, बाहरी क्वेरी उन्हें नाम के अनुसार सॉर्ट करती है।

  1. - MySQL में एक फ़ील्ड द्वारा ऑर्डर करें और बाकी रिकॉर्ड्स को उसी क्रम में प्रदर्शित करें

    MySQL में विशिष्ट रिकॉर्ड को प्राथमिकता देकर ऑर्डर करना कभी-कभी आप एक विशिष्ट रिकॉर्ड को शीर्ष पर रखना चाहते हैं जबकि बाकी रिकॉर्ड्स अपने मूल क्रम में रहें। MySQL में बूलियन अभिव्यक्ति (Id = 101) का उपयोग करके ORDER BY में यह प्राप्त किया जा सकता है। टेबल बनाना ); Query OK, 0 rows affected (0.82 s

  1. - MySQL में रिकॉर्ड्स को ऑर्डर करके N पंक्तियाँ हटाएं (ORDER BY ... LIMIT के साथ DELETE)

    MySQL में ORDER BY और LIMIT के साथ विशिष्ट पंक्तियाँ हटाना MySQL DELETE स्टेटमेंट में ORDER BY और LIMIT क्लॉज का समर्थन करता है, जिससे आप एक विशिष्ट क्रम में केवल पहली N पंक्तियों को हटा सकते हैं। यह पुराने रिकॉर्ड्स को संग्रहीत करने, डुप्लिकेट हटाने, या नमूना डेटा हटाने के लिए उपयोगी है। टेबल बनान

  1. - MySQL में विशिष्ट कॉलम मान को प्राथमिकता देकर ऑर्डर करें और बाकी को आरोही क्रम में दिखाएं

    MySQL में विशिष्ट मान को शीर्ष पर रखकर कस्टम ऑर्डरिंग MySQL में आप बूलियन अभिव्यक्ति (Column = Value) DESC का उपयोग करके एक विशिष्ट मान को शीर्ष पर रख सकते हैं, उसके बाद शेष मानों को आरोही (या अवरोही) क्रम में रख सकते हैं। टेबल बनाना ); Query OK, 0 rows affected (1.68 sec) डेटा डालना INSERT INTO