Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

किसी आइटम का चयन कैसे करें, नीचे वाला और MYSQL में ऊपर वाला आइटम कैसे चुनें?

UNION . का उपयोग करके इसे करने का एक और तरीका यहां दिया गया है एस। मुझे लगता है कि यह समझने में थोड़ा आसान है और स्वीकृत उत्तर से अधिक लचीला है। ध्यान दें कि उदाहरण id . मानता है फ़ील्ड अद्वितीय है, जो आपके प्रश्न के आधार पर मामला प्रतीत होता है।

नीचे दी गई SQL क्वेरी मानती है कि आपकी तालिका को demo . कहा जाता है और एक ही अद्वितीय id है फ़ील्ड, और तालिका आपके द्वारा अपने प्रश्न में सूचीबद्ध मानों से भर गई है।

( SELECT id FROM demo WHERE STRCMP ( 'd01', id ) > 0 ORDER BY id DESC LIMIT 1 )
UNION ( SELECT id FROM demo WHERE id = 'd01' ORDER BY id ) UNION 
( SELECT id FROM demo WHERE STRCMP ( 'd01', id ) < 0 ORDER BY id ASC LIMIT 1 ) 
ORDER BY id

यह निम्नलिखित परिणाम उत्पन्न करता है:b03, d01, d02

यह समाधान लचीला है क्योंकि आप प्रत्येक LIMIT 1 . को बदल सकते हैं LIMIT N . के कथन जहां N कोई संख्या है। उदाहरण के लिए, इस तरह आप पिछली 3 पंक्तियाँ और निम्न 6 पंक्तियाँ प्राप्त कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेरे द्वारा पृष्ठ लोड करने के बाद कुछ भी प्रदर्शित नहीं होता है

  2. जॉइन बनाम जबकि बयान

  3. मैं mysql में तारीख से महीने कैसे प्राप्त करूं?

  4. कोई पैकेज msyql-server उपलब्ध नहीं है

  5. Axios के साथ क्वेरी पैरामीटर कैसे पोस्ट करें?