मान लीजिए मेरे पास 5 फ़ील्ड वाली एक टेबल है और मुझे अगला रिकॉर्ड चाहिए था, लेकिन मैं चाहता हूं कि यह अगला रिकॉर्ड हो जैसे कि रिकॉर्ड्स को 3 फ़ील्ड्स द्वारा ऑर्डर किया गया था, जैसा कि नीचे MySQL स्टेटमेंट में देखा गया है:

SELECT id FROM t1 ORDERBY f1 ASC, f2 ASC, f3 ASC;

क्या इसे करने का कोई तरीका है?

0
Manny Fleurmond 12 अगस्त 2011, 20:14
आपका क्या मतलब है, "अगला रिकॉर्ड"? यदि आप एक चयन कर रहे हैं, तो बस एक और फ़ेच कॉल करें और आपको अगला रिकॉर्ड मिल जाएगा।
 – 
Marc B
12 अगस्त 2011, 20:17
असल में, मेरे पास 100 या तो रिकॉर्ड वाली एक टेबल है। जब मैं किसी वेब पेज पर रिकॉर्ड सूचीबद्ध करता हूं, तो मैंने उन्हें क्रमबद्ध किया है जैसा कि मैंने ऊपर सूचीबद्ध MySql कॉल में किया है: उन्हें 3 फ़ील्ड के माध्यम से सॉर्ट किया जाता है। मैं इसे इसलिए चाहता हूं कि यदि मैं किसी एक रिकॉर्ड के लिए एक व्यक्तिगत पृष्ठ पर हूं, तो यह क्रमबद्ध सूची में अगले एक से जुड़ता है।
 – 
Manny Fleurmond
12 अगस्त 2011, 20:20
@ मैनी: limit क्लॉज का उपयोग करें, और पंक्ति संख्याओं (आईडी नहीं) का ट्रैक रखें ताकि आप क्वेरी में आगे/पीछे जाने के लिए आसानी से अपनी सीमा ऑफ़सेट बदल सकें।
 – 
Marc B
12 अगस्त 2011, 20:21
बी क्या आप मुझे एक उदाहरण दे सकते हैं ??
 – 
Manny Fleurmond
12 अगस्त 2011, 20:26
2
समस्या यह है कि MySQL सिर्फ आपकी क्वेरी के आधार पर डेटा लौटाता है। एक चीज जो आप कर सकते हैं वह एक संग्रहित प्रक्रिया लिखना है जो एक पंक्ति संख्या को पैरामीटर के रूप में लेती है और उस संख्या के आधार पर डेटा लौटाती है। आप यहां संग्रहीत कार्यविधियों के बारे में पढ़ सकते हैं: ट्यूटोरियल.एएसपीएक्स फिर आप उस संग्रहीत कार्यविधि को उस उदाहरण के साथ जोड़ सकते हैं जो मार्क ने आपको दिया था।
 – 
evasilchenko
12 अगस्त 2011, 21:40

1 उत्तर

सबसे बढ़िया उत्तर

एक समाधान मिला: दोनों क्षेत्रों के Concat_ws का उपयोग करके WHERE (अगले एक का चयन करने के लिए) और क्लॉज द्वारा ऑर्डर करें।

0
Manny Fleurmond 31 अक्टूबर 2012, 09:40