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

एक आंतरिक जुड़ाव से मिली जल्द से जल्द तारीख की गिनती?

आप निम्न क्वेरी का उपयोग कर सकते हैं:

SELECT CONCAT(EXTRACT(MONTH FROM startedPayingDate), '-', 
              EXTRACT(YEAR FROM startedPayingDate)) AS "Month", 
       COUNT(*) AS "Total AB Paying Customers"
FROM (       
   SELECT customer_id, MIN(created_at) AS startedPayingDate 
   FROM customerusermap AS cm
   WHERE NOT EXISTS (SELECT 1
                     FROM users AS u
                     WHERE cm.user_id = u.id)
   GROUP BY customer_id ) AS t
GROUP BY 1   

मैंने एक NOT EXISTS . का उपयोग किया है ऑपरेटर 'खुद के लिए भुगतान' ग्राहकों से संबंधित रिकॉर्ड को बाहर करने के लिए (यदि यह वास्तव में आपका इरादा है)।

एक बार जब आप MIN(created_at) . प्राप्त कर लेते हैं दिनांक प्रति customer_id , तो आप बाहरी क्वेरी में प्रति दिनांक आसानी से गिन सकते हैं।

यहां डेमो करें




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql एडेप्टर (pg):सर्वर से कनेक्ट नहीं हो सका

  2. Postgresql - यदि वे मौजूद नहीं हैं तो रिकॉर्ड डालने का साफ तरीका, अगर वे करते हैं तो अपडेट करें

  3. PDO को Postgres . से भिन्नात्मक सेकंड मिलते हैं

  4. रेल ActiveRecord - कैसे दो तिथियों के बीच रिकॉर्ड लाने के लिए?

  5. PostgreSQL दिनांक और समय कार्य