somedeadman

Untitled

Feb 15th, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. SET @n1 = 0;
  2. SET @n2 = 0;
  3. SET @n3 = 0;
  4.  
  5. SET @i1 = 0;
  6. SET @i2 = 0;
  7. SET @i3 = 0;
  8.  
  9.  
  10. SELECT
  11. *,
  12. AVG(IF(t1.row_number1 BETWEEN t3.c1 - 5 AND t3.c1, t1.1, NULL)),
  13. AVG(IF(t1.row_number2 BETWEEN t3.c2 - 5 AND t3.c2, t1.2, NULL)),
  14. AVG(IF(t1.row_number3 BETWEEN t3.c3 - 5 AND t3.c3, t1.3, NULL))
  15. FROM (
  16. SELECT
  17. st.*,
  18. IF(st.1 IS NOT NULL, @n1:= @n1+1, NULL) row_number1,
  19. IF(st.2 IS NOT NULL, @n2:= @n2+1, NULL) row_number2,
  20. IF(st.3 IS NOT NULL, @n3:= @n3+1, NULL) row_number3
  21. FROM super_task st, (SELECT @n1:= 0) i
  22. WHERE (st.1 IS NOT NULL OR st.2 IS NOT NULL OR st.3 IS NOT NULL)
  23. ) t1
  24.  
  25. CROSS JOIN (
  26. SELECT
  27. MAX(t2.row_number1) c1,
  28. MAX(t2.row_number2) c2,
  29. MAX(t2.row_number3) c3
  30. FROM (
  31. SELECT
  32. st.*,
  33. IF(st.1 IS NOT NULL, @i1:= @i1+1, NULL) row_number1,
  34. IF(st.2 IS NOT NULL, @i2:= @i2+1, NULL) row_number2,
  35. IF(st.3 IS NOT NULL, @i3:= @i3+1, NULL) row_number3
  36. FROM super_task st, (SELECT @i1:= 0) i
  37. WHERE (st.1 IS NOT NULL OR st.2 IS NOT NULL OR st.3 IS NOT NULL)
  38. ) t2
  39. ) t3
  40. ;
Advertisement
Add Comment
Please, Sign In to add comment