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

MySQL IN() के साथ ID को विशेष क्रम में प्रदर्शित कैसे करें?

MySQL में FIELD() फ़ंक्शन का उपयोग करके आप अपनी पसंद के क्रम में ID प्रदर्शित कर सकते हैं। यह तब उपयोगी होता है जब आप IN() क्लॉज में निर्दिष्ट मानों के सटीक क्रम में परिणाम चाहते हैं।

उदाहरण के लिए तालिका बनाना

mysql> CREATE TABLE DemoTable (
    UserId INT
);

रिकॉर्ड डालना

mysql> INSERT INTO DemoTable VALUES (100);
mysql> INSERT INTO DemoTable VALUES (10);
mysql> INSERT INTO DemoTable VALUES (40);
mysql> INSERT INTO DemoTable VALUES (80);
mysql> INSERT INTO DemoTable VALUES (70);
mysql> INSERT INTO DemoTable VALUES (60);

डिफ़ॉल्ट क्रम में डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+--------+
| UserId |
+--------+
| 100    |
| 10     |
| 40     |
| 80     |
| 70     |
| 60     |
+--------+

FIELD() के साथ कस्टम क्रम में परिणाम प्राप्त करना

mysql> SELECT UserId FROM DemoTable 
    -> WHERE UserId IN (60,100,10,80,40,70) 
    -> ORDER BY FIELD(UserId, 60,100,10,80,40,70);

आउटपुट:

+--------+
| UserId |
+--------+
| 60     |
| 100    |
| 10     |
| 80     |
| 40     |
| 70     |
+--------+

व्याख्या: FIELD() फ़ंक्शन प्रत्येक मान की स्थिति लौटाता है जो सूची में दिया गया है। ORDER BY FIELD(...) का उपयोग करके परिणाम उसी क्रम में क्रमबद्ध होते हैं जिस क्रम में मान IN() क्लॉज में निर्दिष्ट किए गए हैं।

  1. - MySQL में शर्त के साथ ORDER BY और SELECT कैसे करें?

    कंडीशनल ORDER BY: जीरो वैल्यू अंत में किसी कॉलम को सॉर्ट करते समय खास मान (जैसे 0) को अंत में रखने और बाकी को नॉर्मल ऑर्डर में रखने के लिए बूलियन एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName; टेबल बनाना और डेटा इन्सर्ट करना CREATE TABL

  1. - MySQL में आरक्षित शब्द 'order' को टेबल नाम के रूप में उपयोग करने के लिए बैकटिक्स

    MySQL में ORDER एक आरक्षित शब्द (reserved word) है। इसे टेबल या कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक्स (`) से घेरना आवश्यक है। समस्या CREATE TABLE order (StudentId INT); ERROR 1064: You have an error in your SQL syntax near order समाधान: बैकटिक्स का उपयोग CREATE TABLE `order` (StudentId

  1. - MySQL में न्यूमेरिक यूज़र-डिफ़ाइंड वेरिएबल के साथ ORDER BY कैसे करें?

    MySQL में डायनामिक कॉलम नाम के साथ ORDER BY करने के लिए, यूज़र-डिफ़ाइंड वेरिएबल और PREPARED STATEMENT का उपयोग करें। यह तब उपयोगी होता है जब कॉलम का नाम रनटाइम पर तय होता है। उदाहरण: वेरिएबल के साथ डायनामिक ORDER BY डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1898 (Number INT); डेटा इन्सर्ट