Search Postgresql Archives

gap in sequence numbers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
Please consider the following query.
The reftable inner query generates a table with 11 elements, 7 of them
having the groupkey 1, and the 4 others the groupkey 2. This set is then
grouped by the groupkey field, and after that a generate_series and a
sequence are used to create an ordered id.

My question is : why do the ids created by the sequence include a gap of
1 between the two groups ?
ie, why the id 5 is not present in the result set ?

I know I already ran into this kind of problem, and solved it by using
nextval outside of the query, but i'd like to understand the real reason
of this behaviour.


create sequence temp_seq2 start with 1;

select
	nextval('temp_seq2') as id,
	groupkey,
	generate_series(1, groupnb) as rang 
from (
	select 
		groupkey
		, count(*) as groupnb 
	from (
		select
			id
			, case
				when id <= 7 then 1
				else 2
			end as groupkey
		from
			generate_series(1, 11) as id
	) as reftable
	group by 
		groupkey
) as foo;

drop sequence if exists temp_seq2; 

Thanks for your help,
Vincent

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux