Advertisement
Guest User

Untitled

a guest
May 25th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. 1. Выделение непрерывных групп
  2. select
  3. sum(
  4. case
  5. when group_id = prev_group_id
  6. then 0
  7. else 1
  8. end
  9. ) as group_count
  10. from (
  11. select
  12. group_id,
  13. lag(group_id) over () as prev_group_id
  14. from public.users
  15. ) as users
  16.  
  17. 2. Количество записей в каждой группе
  18. select
  19. group_id,
  20. count(*)
  21. from (
  22. select
  23. *,
  24. row_number() over (order by id) - row_number() over (partition by group_id order by id) as group_seq
  25. from public.users
  26. ) as users
  27. group by group_id, group_seq
  28.  
  29. 3. Минимальный id записи в группе
  30. select
  31. group_id,
  32. min(id)
  33. from (
  34. select
  35. *,
  36. row_number() over (order by id) - row_number() over (partition by group_id order by id) as group_seq
  37. from public.user
  38. ) as users
  39. group by group_id, group_seq
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement