हां, आप इसे पहले मध्य मान प्राप्त करके MySQL में कर सकते हैं। आइए पहले एक टेबल बनाएं:
mysql> टेबल बनाएं DemoTable(UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.65 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालने के लिए क्वेरी निम्नलिखित है:
mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.08 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड)mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.06 सेकंड) mysql> डेमोटेबल मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड)
चयन कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करने के लिए क्वेरी निम्नलिखित है:
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा
<पूर्व>+--------+| UserId |+-----------+| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 |+----------+10 पंक्तियाँ सेट में (0.00 सेकंड)पहले मध्य मान प्राप्त करने की क्वेरी यहां दी गई है:
mysql> set @middleValue=(DemoTable से max(UserId) चुनें)/2;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.01 सेकंड)
अब, आइए हम वैकल्पिक रूप से आरोही और अवरोही क्रम मान प्राप्त करें:
mysql> डेमोटेबल ऑर्डर बाय (IF(UserId <@middleValue,@middleValue*2-UserId,UserId-1)) DESC,UserId ASC;से चुनें *
यह निम्नलिखित आउटपुट उत्पन्न करेगा
<पूर्व>+--------+| UserId |+-----------+| 1 || 10|| 2 || 9 || 3 || 8 || 4 || 7 || 6 || 5 |+----------+10 पंक्तियाँ सेट में (0.00 सेकंड)