奖金区间表2.sql 1009 B

1234567891011121314151617181920212223242526272829303132
  1. SET @PERIOD_MIN = 154;
  2. SET @PERIOD_MAX = 158;
  3. SELECT
  4. A1.`期数` AS 期数,
  5. COUNT(ELT(INTERVAL(A1.`总奖金`,0,99.99),'<100')) AS '<100',
  6. COUNT(ELT(INTERVAL(A1.`总奖金`,100,999.99),'100-1000')) AS '100-1000',
  7. COUNT(ELT(INTERVAL(A1.`总奖金`,1000,1999.99),'1000-2000')) AS '1000-2000',
  8. COUNT(ELT(INTERVAL(A1.`总奖金`,2000,2999.99),'2000-3000')) AS '2000-3000',
  9. COUNT(ELT(INTERVAL(A1.`总奖金`,3000,3999.99),'3000-4000')) AS '3000-4000',
  10. COUNT(ELT(INTERVAL(A1.`总奖金`,4000,4999.99),'4000-5000')) AS '4000-5000',
  11. COUNT(ELT(INTERVAL(A1.`总奖金`,5000),'>5000')) AS '>5000',
  12. COUNT(A1.USER_ID) AS 总计
  13. FROM
  14. (SELECT
  15. B.PERIOD_NUM AS 期数,
  16. B.USER_ID,
  17. B.BONUS_TOTAL AS 总奖金
  18. FROM
  19. ar_calc_bonus B
  20. WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX AND B.BONUS_TOTAL >= 1
  21. UNION ALL
  22. SELECT
  23. J.`期数`,
  24. J.UID,
  25. J.`总奖金`
  26. FROM
  27. `奖金数据表` J
  28. WHERE J.`期数` >= @PERIOD_MIN AND J.`期数` <= @PERIOD_MAX AND J.`总奖金` >= 1)A1
  29. GROUP BY A1.`期数`