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

यदि एक कॉलम का कोई मान नहीं है तो MySQL अधिकतम मान या शून्य लौटाता है

मुझे नहीं पता कि यह कितना तेज़ होगा, लेकिन मुझे लगता है कि इसे इस तरह हल किया जा सकता है:

SELECT ID, min(ORDER_DATE) AS OD,
IF(COUNT(*)=COUNT(CANCEL_DATE),max(CANCEL_DATE),NULL) AS CD 
FROM stats GROUP BY CLIENT

मैं इसका परीक्षण नहीं कर सका लेकिन इस समाधान के पीछे का विचार यह है कि count(cancel_date) सभी शून्य मान प्रविष्टियों को गिनना चाहिए और यदि यह count(*) . के बराबर है इसका मतलब है कि कोई शून्य मान नहीं हैं और यह max(cancel_date) लौटाएगा , अन्यथा शून्य।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावास्क्रिप्ट में एक PHP स्क्रिप्ट निष्पादित करना?

  2. एकाधिक तालिकाओं के लिए MySQL क्वेरी माध्यमिक तालिकाएँ एकाधिक आइटम हैं?

  3. InnoDB केवल रिकॉर्ड डालें यदि संदर्भित आईडी मौजूद है (विदेशी कुंजी के बिना)

  4. डेटाबेस तालिका से चुनिंदा ड्रॉप डाउन पॉप्युलेट करें

  5. प्रति खोज शब्द एक पंक्ति प्रदर्शित करें, यदि नहीं मिला तो डिफ़ॉल्ट रूप से प्रतिस्थापित करें