आप निम्न क्वेरी का उपयोग कर सकते हैं:
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
, तो आप बाहरी क्वेरी में प्रति दिनांक आसानी से गिन सकते हैं।