IN() का उपयोग करना विशिष्ट क्षेत्र के लिए परिणाम को सॉर्ट करता है। इससे बचने के लिए, फ़ील्ड के लिए ORDER BY और FIND_IN_SET() का उपयोग करें।
Find_in_set () को समझने के लिए, आइए एक टेबल बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं ProductStock -> (-> ProductId int, -> ProductName varchar(20), -> ProductQuantity int, -> ProductPrice float -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.79 सेकंड)
अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी इस प्रकार है -
mysql> ProductStock मानों में डालें(1,'Product-101',10,500.56);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 sec)mysql> ProductStock मानों में डालें (25,'Product-111',5,150.00); ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> ProductStock मानों (67, 'उत्पाद-311', 7,1000.50) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.60 सेकंड) mysql> ProductStock मानों में डालें (55, 'उत्पाद -561',8,900.00);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.24 सेकंड)mysql> ProductStock मानों में डालें(75,'Product-221',15,670.56);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> प्रोडक्टस्टॉक से *चुनें;
आउटपुट
<पूर्व>+----------+----------------+---------------------+-- ------------+| उत्पाद आईडी | उत्पाद का नाम | उत्पाद मात्रा | उत्पाद मूल्य |+----------+----------------+---------------------+--- -----------+| 1 | उत्पाद-101 | 10 | 500.56 || 25 | उत्पाद-111 | 5 | 150 || 67 | उत्पाद-311 | 7 | 1000.5 || 55 | उत्पाद-561 | 8 | 900 || 75 | उत्पाद-221 | 15 | 670.56 |+----------+---------------+---------------------+--- -----------+5 पंक्तियाँ सेट में (0.00 सेकंड)यहां आपकी क्वेरी के लिए find_in_set() का उपयोग करने की क्वेरी है -
mysql> ProductStock से * चुनें -> जहां ProductId IN(25,55,67,75,1) -> find_in_set(ProductId,'25,55,67,75,1');द्वारा ऑर्डर करें