次のクエリを使用できます:
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
ごとの日付 、その後、外部クエリで日付ごとに簡単にカウントできます。