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() क्लॉज में निर्दिष्ट किए गए हैं।