Re: Simple way to get missing number

From: Emi Lu <emilu(at)encs(dot)concordia(dot)ca>
To: depesz(at)depesz(dot)com
Cc: pgsql-sql(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org
Subject: Re: Simple way to get missing number
Date: 2012-04-24 15:21:41
Message-ID: 4F96C505.6050207@encs.concordia.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-sql

Aha, generate_series, I got it. Thank you very much!!

I also tried left join, it seems that left join explain analyze returns
faster comparing with except:

select num as missing
from generate_series(5000, 22323) t(num)
left join t1 on (t.num = t1.id)
where t1.id is null
limit 10;

Emi

On 04/24/2012 10:31 AM, hubert depesz lubaczewski wrote:
> On Tue, Apr 24, 2012 at 10:15:26AM -0400, Emi Lu wrote:
>> May I know is there a simple sql command which could return missing
>> numbers please?
>> For example,
>> t1(id integer)
>> values= 1, 2, 3 .... 5000000
>> select miss_num(id)
>> from t1 ;
>
> select generate_series( (select min(id) from t1), (select max(id) from
> t1))
> except
> select id from t1;
>
> Best regards,
>
> depesz
>

--
Emi Lu, ENCS, Concordia University, Montreal H3G 1M8
emilu(at)encs(dot)concordia(dot)ca +1 514 848-2424 x5884

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Kretschmer 2012-04-24 15:28:53 Re: how robust are custom dumps?
Previous Message rihad 2012-04-24 15:21:18 Re: Fractions of seconds in timestamps

Browse pgsql-sql by date

  From Date Subject
Next Message Raj Mathur ( राज =?utf-8?b?IOCkruCkvuCkpeClgeCksA==?=) 2012-04-24 15:29:40 Re: Simple way to get missing number
Previous Message Alban Hertroys 2012-04-24 14:41:26 Re: Simple way to get missing number