Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH preparedData as(
- SELECT
- userID,
- paymentAmount,
- paymentPeriod,
- paymentDateTime,
- p.productID,
- productValue,
- EXTRACT(YEAR_MONTH FROM paymentDateTime) as paymentMonth,
- EXTRACT(YEAR_MONTH FROM DATE_ADD(paymentDateTime, INTERVAL paymentPeriod MONTH))
- FROM
- payments p
- LEFT JOIN
- products pr
- ON p.productID = pr.productID
- WHERE
- 202104 BETWEEN EXTRACT(YEAR_MONTH FROM paymentDateTime) AND EXTRACT(YEAR_MONTH FROM DATE_ADD(paymentDateTime, INTERVAL paymentPeriod MONTH))
- AND paymentStatus = 1
- AND paymentPeriod > 0
- AND userID IS NOT NULL
- AND productValue IN (50, 100, 150, 200, 300, 400, 500, 750, 1000, 1500, 2000, 3000, 4000, 5000, 6000, 10000, 12500, 20000, 27500))
- SELECT
- paymentPeriod,
- productValue,
- count(distinct userID)
- FROM preparedData
- GROUP BY
- paymentperiod,
- productValue
- ORDER BY
- paymentPeriod,
- productValue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement