Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. SELECT
  2. a.*,
  3. lead(avgv,-1) over (partition by "MONTH" order by "DOY") as prev,
  4. a.avgv-lead(avgv,-1) over (partition by "MONTH" order by "DOY") AS prev_avg_diff,
  5. b.median
  6. FROM (
  7. SELECT
  8. EXTRACT(YEAR FROM "created_on") AS year,
  9. EXTRACT(mon FROM "created_on") AS month,
  10. EXTRACT(dayofyear FROM "created_on") AS doy,
  11. COUNT(*) AS cnt,
  12. AVG("value") AS avgv
  13. FROM mydata4
  14. GROUP BY
  15. EXTRACT(YEAR FROM "created_on"),
  16. EXTRACT(mon FROM "created_on"),
  17. EXTRACT(dayofyear FROM "created_on")
  18. ORDER BY
  19. EXTRACT(YEAR FROM "created_on"),
  20. EXTRACT(mon FROM "created_on"),
  21. EXTRACT(dayofyear FROM "created_on")
  22. ) a
  23. LEFT JOIN (
  24. SELECT
  25. tmp.year2,tmp.month2,
  26. MEDIAN(tmp.cnt) AS median
  27. FROM (
  28. SELECT
  29. EXTRACT(YEAR FROM "created_on") AS year2,
  30. EXTRACT(mon FROM "created_on") AS month2,
  31. EXTRACT(dayofyear FROM "created_on") AS doy2,
  32. COUNT(*) AS cnt
  33. FROM mydata4
  34. GROUP BY 1,2,3
  35. ) tmp
  36. GROUP BY 1,2
  37. ) b ON b.month2 = a.month AND b.year2 = a.year
  38. WHERE a.cnt > b.median ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement