mySQL IN रेंज का चयन करें


84

क्या क्वेरी के IN भाग के लिए किसी श्रेणी को परिभाषित करना संभव है, कुछ इस तरह से

SELECT job FROM mytable WHERE id IN (10..15);

के बजाय

SELECT job FROM mytable WHERE id IN (10,11,12,13,14,15);

जवाबों:


153

आप नहीं कर सकते, लेकिन आप उपयोग कर सकते हैं BETWEEN

SELECT job FROM mytable WHERE id BETWEEN 10 AND 15

ध्यान दें कि BETWEENसमावेशी है, और इसमें आईडी 10 और 15 दोनों के साथ आइटम शामिल होंगे।

यदि आप शामिल नहीं करना चाहते हैं, तो आपको >और <ऑपरेटरों का उपयोग करने के लिए वापस आना होगा ।

SELECT job FROM mytable WHERE id > 10 AND id < 15

1
यदि मैं अपनी तालिका में पहले 5 आइटम्स को क्वेरी करना चाहता हूं तो मुझे क्या करना चाहिए? उदाहरण के लिए आईडी 1,2,5,6,7,8 हैं। इस मामले में उपरोक्त दृष्टिकोण सिर्फ 1,2,5 पर लौटेगा।
सोरोश

1
पक्का नहीं आपका क्या मतलब है। मैं अधिक विवरण के साथ एक नया प्रश्न लिखने का सुझाव दूंगा।
ईएसजी

6

संख्यात्मक श्रेणी में डेटा का चयन करने के लिए आप उपयोग कर सकते हैं BETWEENजो समावेशी है।

SELECT JOB FROM MYTABLE WHERE ID BETWEEN 10 AND 15;

ESG के उत्तर में क्या अंतर है?
टॉरस्टेन

2
स्पैमी डुप्लिकेट इसे छोड़कर एक ऊपरी-मामले में कॉलम और टेबल डालने के साथ बुरा व्यवहार है। कॉलम नाम केस-असंवेदनशील होते हैं, इसलिए यह ठीक है (जैसा कि, एक त्रुटि पैदा नहीं करेगा), लेकिन अधिकांश यूनिक्स सिस्टम में टेबल नाम केस-संवेदी होते हैं। (लेकिन विंडोज टेबल-नाम पर भी केस-असंवेदनशील है, इसलिए यह क्वेरी वहां सफल होगी) ... सभी में यह एक अच्छी योजना है कि ऊपरी-मामले के साथ अनावश्यक खेलने वाले लोगों को भ्रमित न करें। ईएसजी का जवाब मेरे से परे होने के बाद यह कैसे बढ़ जाता है।
जीरो ई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.