Advertisement
Guest User

Untitled

a guest
Aug 31st, 2015
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. | f1 | f2 | f3 |
  2. |----|----|----|
  3. | 1 | 1 | 1 |
  4. | 1 | 1 | 5 |
  5. | 1 | 2 | 3 |
  6. | 1 | 2 | 6 |
  7. | 1 | 3 | 4 |
  8. | 1 | 3 | 7 |
  9. | 2 | 1 | 2 |
  10. | 2 | 1 | 22 |
  11. | 2 | 2 | 3 |
  12. | 2 | 2 | 4 |
  13.  
  14. | f1 | RNG| f3 |
  15. |----|----|----|
  16. | 1 |1 -3| 1 |
  17. | 1 |1 -3| 3 |
  18. | 1 |2 -3| 3 |
  19. | 1 |2 -3| 4 |
  20. | 1 |3 -3| 4 |
  21. | 1 |3 -3| 7 |
  22. | 2 |1- 2| 2 |
  23. | 2 |1- 2| 3 |
  24. | 2 |2- 2| 3 |
  25. | 2 |2- 2| 4 |
  26.  
  27. SELECT DISTINCT s1.f1,s1.f2 AS range_from ,s2.f2 AS range_to
  28. FROM dbTable s1,
  29. (SELECT f1,MAX(f2) AS f2 FROM dbTable
  30. GROUP BY f1) s2
  31. WHERE s1.f1=s2.f1
  32. ORDER BY s1.f1,s1.f2;
  33.  
  34. SELECT f1,range_from,range_to,f3 FROM
  35.  
  36. (SELECT s.f1,s3.range_from,s3.range_to,s.f3, row_number() over (partition BY s.f1,s3.range_from ORDER BY f3) AS counter
  37. FROM dbTable s,
  38. (
  39. SELECT DISTINCT s1.f1,s1.f2 AS range_from ,s2.f2 AS range_to
  40. FROM dbTable s1,
  41. (SELECT f1,MAX(f2) AS f2 FROM dbTable
  42. GROUP BY f1) s2
  43. WHERE s1.f1=s2.f1
  44. ORDER BY s1.f1,s1.f2
  45. ) s3
  46.  
  47. WHERE s.f1=s3.f1
  48. AND (s.f2 >= s3.range_from AND s.f2<= s3.range_to)
  49. ORDER BY s.f1,s3.range_from,s.f3) s53
  50. WHERE counter<=2
  51. ORDER BY f1,range_from,range_to, counter;
  52.  
  53. | f1 | range_from | range_to | f3 |
  54. |----|------------|----------|----|
  55. | 1 | 1 | 3 | 1 |
  56. | 1 | 1 | 3 | 3 |
  57. | 1 | 2 | 3 | 3 |
  58. | 1 | 2 | 3 | 4 |
  59. | 1 | 3 | 3 | 4 |
  60. | 1 | 3 | 3 | 7 |
  61. | 2 | 1 | 2 | 2 |
  62. | 2 | 1 | 2 | 3 |
  63. | 2 | 2 | 2 | 3 |
  64. | 2 | 2 | 2 | 4 |
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement