活跃会员占比趋势.sql 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. SET @PERIOD_MIN = 155;
  2. SET @PERIOD_MAX = 158;
  3. SELECT
  4. E1.期数,
  5. B1.`激活会员`,
  6. C1.`有奖金会员`,
  7. D1.`报单会员`,
  8. D1.`报单会员`/C1.`有奖金会员` AS 报单会员占比,
  9. E1.`复消会员`,
  10. E1.`复消会员`/C1.`有奖金会员` AS 复消会员占比,
  11. C1.`有奖金会员` - D1.`报单会员` - E1.`复消会员` AS 无消费会员,
  12. (C1.`有奖金会员` - D1.`报单会员` - E1.`复消会员`)/C1.`有奖金会员` AS 无消费会员占比
  13. FROM
  14. (SELECT
  15. O.PERIOD_NUM,
  16. COUNT(DISTINCT O.USER_NAME) AS 报单会员
  17. FROM
  18. ar_order O
  19. WHERE O.PERIOD_NUM >= @PERIOD_MIN AND O.PERIOD_NUM <= @PERIOD_MAX AND O.ORDER_TYPE = 'ZC'
  20. GROUP BY O.PERIOD_NUM)D1 LEFT JOIN
  21. (SELECT
  22. O2.`期数`,
  23. COUNT(DISTINCT O2.`会员编号`) AS 复消会员
  24. FROM
  25. zr_order_vw O2
  26. WHERE O2.`期数` >= @PERIOD_MIN AND O2.`期数` <= @PERIOD_MAX AND O2.`订单类型` <> '报单'
  27. GROUP BY O2.`期数`)E1 ON E1.`期数` = D1.PERIOD_NUM LEFT JOIN
  28. (SELECT
  29. B1.期数,
  30. COUNT(B1.`会员编号`) AS 有奖金会员
  31. FROM
  32. (SELECT
  33. B.PERIOD_NUM AS 期数,
  34. U.USER_NAME AS 会员编号,
  35. B.BONUS_TOTAL AS 总奖金
  36. FROM
  37. ar_calc_bonus B
  38. LEFT JOIN ar_user U ON U.ID = B.USER_ID
  39. WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX AND B.BONUS_TOTAL >= 1
  40. UNION ALL
  41. SELECT
  42. J.`期数`,
  43. J.`会员编号`,
  44. J.`总奖金`
  45. FROM
  46. `奖金数据表` J
  47. WHERE J.`期数` >= @PERIOD_MIN AND J.`期数` <= @PERIOD_MAX AND J.`总奖金` >= 1)B1
  48. GROUP BY B1.`期数`)C1 ON C1.`期数` = E1.`期数`,
  49. (SELECT
  50. COUNT(U.ID) AS 激活会员
  51. FROM
  52. ar_user U
  53. WHERE U.`STATUS` = 1)B1