Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. id code date1 date2 block
  2. --------------------------------------------------
  3. 20 1234 2017-07-01 2017-07-31 1
  4. 15 1234 2017-06-01 2017-06-30 1
  5. 13 1234 2017-05-01 2017-05-31 0
  6. 11 1234 2017-03-01 2017-03-31 0
  7. 9 1234 2017-02-01 2017-02-28 1
  8. 8 1234 2017-01-01 2017-01-31 0
  9. 7 1234 2016-11-01 2016-11-31 0
  10. 6 1234 2016-10-01 2016-10-31 1
  11. 2 1234 2016-09-01 2016-09-31 1
  12.  
  13. id code date1 date2 block desired_rank
  14. -------------------------------------------------------------------
  15. 20 1234 2017-07-01 2017-07-31 1 1
  16. 15 1234 2017-06-01 2017-06-30 1 1
  17. 13 1234 2017-05-01 2017-05-31 0 2
  18. 11 1234 2017-03-01 2017-03-31 0 2
  19. 9 1234 2017-02-01 2017-02-28 1 3
  20. 8 1234 2017-01-01 2017-01-31 0 4
  21. 7 1234 2016-11-01 2016-11-31 0 4
  22. 6 1234 2016-10-01 2016-10-31 1 5
  23. 2 1234 2016-09-01 2016-09-31 1 5
  24.  
  25. id code date1 date2 block dense_rank()
  26. -------------------------------------------------------------------
  27. 20 1234 2017-07-01 2017-07-31 1 1
  28. 15 1234 2017-06-01 2017-06-30 1 2
  29. 13 1234 2017-05-01 2017-05-31 0 1
  30. 11 1234 2017-03-01 2017-03-31 0 2
  31. 9 1234 2017-02-01 2017-02-28 1 3
  32. 8 1234 2017-01-01 2017-01-31 0 3
  33. 7 1234 2016-11-01 2016-11-31 0 4
  34. 6 1234 2016-10-01 2016-10-31 1 4
  35. 2 1234 2016-09-01 2016-09-31 1 5
  36.  
  37. CREATE TEMP TABLE data (id integer,code text, date1 date, date2 date, block integer);
  38.  
  39. INSERT INTO data VALUES
  40. (20,'1234', '2017-07-01','2017-07-31',1),
  41. (15,'1234', '2017-06-01','2017-06-30',1),
  42. (13,'1234', '2017-05-01','2017-05-31',0),
  43. (11,'1234', '2017-03-01','2017-03-31',0),
  44. (9, '1234', '2017-02-01','2017-02-28',1),
  45. (8, '1234', '2017-01-01','2017-01-31',0),
  46. (7, '1234', '2016-11-01','2016-11-30',0),
  47. (6, '1234', '2016-10-01','2016-10-31',1),
  48. (2, '1234', '2016-09-01','2016-09-30',1);
  49.  
  50. SELECT *,dense_rank() OVER (PARTITION BY code,block ORDER BY date2 DESC)
  51. FROM data
  52. ORDER BY date2 DESC;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement