Advertisement
festinko

Untitled

Sep 12th, 2022
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 0.59 KB | None | 0 0
  1. WITH preparedData as(
  2. SELECT
  3.     userID,
  4.     paymentAmount,
  5.     paymentPeriod,
  6.     paymentDateTime,
  7.     EXTRACT(YEAR_MONTH FROM paymentDateTime) as paymentMonth,
  8.     EXTRACT(YEAR_MONTH FROM DATE_ADD(paymentDateTime, INTERVAL paymentPeriod MONTH))
  9. FROM
  10.     payments
  11. WHERE
  12.      202101 BETWEEN EXTRACT(YEAR_MONTH FROM paymentDateTime) AND EXTRACT(YEAR_MONTH FROM DATE_ADD(paymentDateTime, INTERVAL paymentPeriod MONTH))
  13.     AND paymentStatus = 1
  14.     AND paymentPeriod > 0
  15.     AND userID IS NOT NULL)
  16.    
  17. SELECT
  18.  paymentPeriod,
  19.  count(distinct userID)
  20.  
  21. FROM preparedData
  22. GROUP BY paymentperiod
  23. ORDER BY paymentPeriod
  24.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement