Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- drop function if exists stat();
- create function stat() returns table(min_id bigint, group_id bigint, counter bigint) as $$
- declare
- item users;
- prev_group_id bigint;
- begin
- counter := 0;
- for item.id, item.group_id in select users.id, users.group_id from users order by users.id asc
- loop
- if(prev_group_id != item.group_id and prev_group_id is not null ) then
- return next;
- counter := 0;
- min_id := null;
- end if;
- group_id := item.group_id;
- counter := counter + 1;
- if(item.id < min_id or min_id is null) then
- min_id := item.id;
- end if;
- prev_group_id := item.group_id;
- end loop;
- return next;
- end
- $$ language plpgsql;
- -- использование
- select * from stat();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement