2010-05-13 14 views
72
छोड़

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

+6

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

उत्तर

5

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

+0

छोड़ यह मैं स्पष्ट कर दिया कि "क्या ऑफसेट है" धन्यवाद @Col बनाया है। छर्रों –

24

छोड़ manual से:

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

SELECT * FROM tbl LIMIT 95,18446744073709551615; 

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

+5

क्या होगा यदि मैं एक से अधिक 18446744073709551615 रिकॉर्ड है? :-) – ceejayoz

+1

1byte प्रत्येक पर, आप थोड़ी देर इंतजार कर सकता है: पी ~ 18pB ... – Kurru

+18

@ceejayoz: तो फिर आप भविष्य में कम से कम 50 साल से एक मशीन है और आप शायद MySQL प्रश्नों प्रोग्रामिंग नहीं किया जाएगा: पी – Thomas

89

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

SELECT * FROM foo LIMIT 10, 50 

सभी परिणाम देने के, Thomas' answer देखते हैं।

+0

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

61

नहीं है एक साथ ही है कि चाल करना चाहिए OFFSET:

SELECT column FROM table 
LIMIT 10 OFFSET 10 
+1

पोस्टग्रेज़ के साथ भी काम करता है –

+0

सीमा 10,10' – shellbye

20

OFFSET आप के लिए क्या देख रहे है।

SELECT * FROM table LIMIT 10 OFFSET 10 
1
select * from table where id not in (select id from table limit 10) 

जहां id अपनी तालिका में महत्वपूर्ण हो।

+0

की तुलना में समझने में अधिक आसान – Isaac

+0

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

+0

यह केवल जवाब वास्तव में प्राप्त होता है कि क्या प्रश्न पूछता है। यह पहली बार 10 के बाद सभी परिणाम प्राप्त होता है - सही। Upvoted। – benjaminhull

संबंधित मुद्दे