MySQL पहले 10 परिणाम छोड़ें


102

क्या MySQL में कोई रास्ता है कि किसी SELECT क्वेरी से पहले 10 परिणाम को छोड़ दिया जाए? मुझे यह पसंद है कि मैं LIMIT जैसा कुछ काम करूं।


7
यहाँ सभी उत्तर क्रम खंड द्वारा आदेश याद कर रहे हैं। SQL तालिकाओं का कोई डिफ़ॉल्ट क्रम नहीं है, और बिना किसी स्पष्ट आदेश के कोई भी तरीका नहीं है जो बताए कि स्किप करने के पहले 10 परिणाम हैं
fthiella

जवाबों:


125

दो मापदंडों के साथ लिमिट का उपयोग करें। उदाहरण के लिए, परिणाम 11-60 (जहां परिणाम 1 पहली पंक्ति है) वापस करने के लिए, उपयोग करें:

SELECT * FROM foo LIMIT 10, 50

सभी परिणामों को वापस करने के लिए एक समाधान के लिए, थॉमस का जवाब देखें ।


यदि आपके द्वारा बताई गई संख्या के बीच कुछ पंक्तियाँ हटा दी जाती हैं तो क्या होगा।
एलेक्स

91

वहाँ एक OFFSET है जो चाल को करना चाहिए:

SELECT column FROM table
LIMIT 10 OFFSET 10

7
से अधिक समझने में आसान हैlimit 10,10
शेल्बी


33

से मैनुअल :

परिणाम सेट के अंत तक एक निश्चित ऑफसेट से सभी पंक्तियों को पुनः प्राप्त करने के लिए, आप दूसरे पैरामीटर के लिए कुछ बड़ी संख्या का उपयोग कर सकते हैं। यह कथन 96 वीं पंक्ति से अंतिम तक सभी पंक्तियों को पुनः प्राप्त करता है:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

जाहिर है, आपको इसके 95द्वारा प्रतिस्थापित करना चाहिए 10। जिस तरह से वे उपयोग करते हैं वह बड़ी संख्या 2 ^ 64 - 1 है।


5

सीमा आपको किसी भी पंक्तियों को छोड़ने की अनुमति देती है। इसके दो पैरामीटर हैं, और उनमें से पहला - कितनी पंक्तियों को छोड़ना है


इससे मुझे स्पष्ट हो गया कि "व्हाट इज ऑफसेट" धन्यवाद @ कोल। शर्पेल
ओम द इटरनिटी

2
select * from table where id not in (select id from table limit 10)

जहां idआपकी तालिका में कुंजी हो।


यह आवेग और अन्य डेटाबेस के लिए उपयोगी और तेज़ है, जहां ऑफ़सेट के साथ सीमा को एक ऑर्डर तर्क की आवश्यकता होती है जो हमेशा वांछनीय नहीं होता है।
कार्तिकस २३'१

-5

यदि आपकी तालिका में आईडी द्वारा आदेश दिया गया है, तो आप आसानी से कर सकते हैं:

select * from table where id > 10
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.