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

MySQL में केस स्टेटमेंट का उपयोग कैसे करें

MySQL केस स्टेटमेंट आपको SQL क्वेरी में कई स्थितियों के लिए एक मान की जांच करने की अनुमति देता है। इस लेख में हम देखेंगे कि MySQL में केस स्टेटमेंट का उपयोग कैसे करें।


MySQL में केस स्टेटमेंट कैसे लिखें

यहाँ MySQL केस स्टेटमेंट के लिए सिंटैक्स है।

मामले का चयन करें जब कंडीशन 1 तब वैल्यू 1 जब कंडीशन 2 फिर वैल्यू 2 ...एंड, कॉलम 2, कॉलम 3 ... टेबल_नाम से 

उपरोक्त क्वेरी में, आपको तालिका का नाम निर्दिष्ट करना होगा। इसके अलावा, आपको प्रत्येक शर्त का उल्लेख करना होगा, जिसके लिए आप दिए गए कॉलम की जांच करना चाहते हैं, केस ... एंड स्टेटमेंट के भीतर। यदि प्रत्येक शर्त सत्य है, अर्थात प्रत्येक मामले के लिए, तो आपको कॉलम को असाइन किए जाने वाले मान का भी उल्लेख करना होगा।

MySQL केस उदाहरण

आइए नीचे MySQL केस फंक्शन के कुछ उदाहरण देखें।

मान लें कि आपके पास निम्न तालिका है बिक्री (आईडी, आदेश_तिथि, राशि)

mysql> तालिका बिक्री बनाएं (आईडी int, order_date दिनांक, राशि int); mysql> बिक्री में डालें (आईडी, ऑर्डर_डेट, राशि) मान (1, '2021-01-01', 150), (1, ' 2021-01-02', 250), (1, '2021-01-03', 100), (1, '2021-01-04', 150), (1, '2021-01-05', 350 );mysql> बिक्री से * चुनें; आईडी | ऑर्डर_डेट | राशि |+----------+------------+----------+| 1 | 2021-01-01 | 150 || 1 | 2021-01-02 | 250 || 1 | 2021-01-03 | 100 || 1 | 2021-01-04 | 150 || 1 | 2021-01-05 | 350 |+------+-----------+----------+

बोनस पढ़ें:MySQL में JSON कॉलम को कैसे क्वेरी करें

यहां राशि . को समूहीकृत करने के लिए SQL क्वेरी है मान 3 बकेट में – 100 के बराबर से कम, 100-300, और 300 से अधिक।

mysql> आईडी, ऑर्डर_डेट, केस का चयन करें जब राशि<=100 तब '100 के बराबर से कम' जब राशि>100 और राशि<300 तब '101 से 300' जब राशि>=300 तब '300 से अधिक' समाप्त हो बिक्री से बाल्टी के रूप में;+----------+---------------+-------------------------- +| आईडी | ऑर्डर_डेट | बाल्टी |+----------+-----------+--------------------------+| 1 | 2021-01-01 | 101 से 300 || 1 | 2021-01-02 | 101 से 300 || 1 | 2021-01-03 | 100 के बराबर से कम || 1 | 2021-01-04 | 101 से 300 || 1 | 2021-01-05 | 300 से अधिक |+----------+---------------+--------------------------+ 

बोनस पढ़ें :MySQL में डुप्लिकेट रिकॉर्ड डालने से कैसे बचें

कृपया ध्यान दें, यदि कोई भी केस स्टेटमेंट किसी मान के लिए संतुष्ट नहीं है, तो CASE स्टेटमेंट NULL लौटाएगा। यहाँ एक उदाहरण है

mysql> आईडी, ऑर्डर_डेट, केस का चयन करें जब राशि <100 तब '100 से कम' जब राशि> 100 और राशि <300 तब '100 से 300' जब राशि> 300 तब '300 से अधिक' बिक्री से बाल्टी के रूप में समाप्त होती है;+----------+---------------+---------------------+| आईडी | ऑर्डर_डेट | बाल्टी |+------+------------+---------------------+| 1 | 2021-01-01 | 100 से 300 || 1 | 2021-01-02 | 100 से 300 || 1 | 2021-01-03 | नल  || 1 | 2021-01-04 | 100 से 300 || 1 | 2021-01-05 | 300 से अधिक |+------+----------- 

उपरोक्त उदाहरण में, CASE स्टेटमेंट 100 के लिए NULL लौटाता है, क्योंकि यह किसी भी शर्त को पूरा नहीं करता है।

MySQL केस स्टेटमेंट फ़्रीक्वेंसी डिस्ट्रीब्यूशन और ग्रुपिंग वैल्यू बनाने के लिए उपयोगी है।

आप पंक्तियों के सबसेट पर केस स्टेटमेंट लागू करने के लिए WHERE कंडीशन का भी उपयोग कर सकते हैं।

 आईडी, ऑर्डर_डेट, केस का चयन करें जब राशि<=100 तब '100 के बराबर से कम' जब राशि>100 और राशि<300 तब '101 से 300' जब राशि>=300 तब '300 से अधिक' बाल्टी के रूप में समाप्त होती है बिक्री से कहां <स्थिति>;


Ubiq में MySQL केस

Ubiq रिपोर्टिंग टूल उपरोक्त सभी SQL प्रश्नों का समर्थन करता है और SQL परिणामों को अलग-अलग तरीकों से देखना आसान बनाता है। Ubiq में ऊपर बताई गई CASE SQL क्वेरी यहां दी गई है।

MySQL के लिए एक रिपोर्टिंग टूल की आवश्यकता है? Ubiq मिनटों में डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. होस्ट से एक डॉकटर कंटेनर में mysql से कनेक्ट करें

  2. MySQL में INSERT और UPDATE में क्या अंतर हैं?

  3. MySQL में दो टेबल्स को कैसे जॉइन करें?

  4. मुझे कैसे पता चलेगा कि मेरा डॉकटर mysql कंटेनर कब चालू है और mysql प्रश्न लेने के लिए तैयार है?

  5. OS X पर MySQL रूट यूजर पासवर्ड सेट करना