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

किसी शर्त के साथ पंक्तियों की गिनती करते समय मुझे MySQL में OR NULL की आवश्यकता क्यों है?

यह सब प्रकट करना चाहिए

SELECT 4=4, 3=4, 1 or null, 0 or null

आउटपुट

1   |   0   |   1   |   NULL

तथ्य

  1. COUNT कॉलम / एक्सप्रेशन जोड़ता है जो NULL का मूल्यांकन करता है। कुछ भी 1 से बढ़ जाएगा, जब तक कि वह शून्य न हो। अपवाद COUNT(DISTINCT) है जहां यह केवल तभी बढ़ता है जब इसे पहले से गिना नहीं जाता है।

  2. जब कोई बूलियन व्यंजक अपने आप प्रयोग किया जाता है, तो वह 1 या 0 देता है।

  3. जब एक बूलियन OR होता है -एड के साथ NULL, यह NULL तभी होता है जब यह 0 (गलत) हो

दूसरों के लिए

हाँ, अगर गिनती ही वांछित कॉलम है, तो कोई WHERE value=4 . का उपयोग कर सकता है लेकिन अगर यह एक प्रश्न है जो 4 के साथ ही . की गणना करना चाहता है अन्य गणना/समुच्चय पुनर्प्राप्त करना, फिर फ़िल्टर काम नहीं करता है। एक विकल्प होता SUM(value=4) , उदा.

SELECT sum(value=4)
  FROM test


  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. MySQL/PHP में प्रदर्शित होने वाले रिकॉर्ड को दोहराने से बचें

  3. LINQ से MySQL - सबसे अच्छा विकल्प क्या है?

  4. प्रत्येक पिछले 7 दिनों के लिए सबसे बड़ा मान चुनें

  5. सम्मिलित पंक्ति की अनुक्रमणिका पुनर्प्राप्त करना