Received: from makus.postgresql.org (makus.postgresql.org [98.129.198.125]) by mail.postgresql.org (Postfix) with ESMTP id 0202C86080C; Tue, 24 Apr 2012 12:22:11 -0300 (ADT) Received: from oldperseverance.encs.concordia.ca ([132.205.96.94]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1SMhZA-0002JU-Cw; Tue, 24 Apr 2012 15:22:10 +0000 Received: from cacao.encs.concordia.ca (emilu@cacao.encs.concordia.ca [132.205.47.225]) by oldperseverance.encs.concordia.ca (envelope-from emilu@encs.concordia.ca) (8.13.7/8.13.7) with ESMTP id q3OFLfIG012069; Tue, 24 Apr 2012 11:21:41 -0400 Message-ID: <4F96C505.6050207@encs.concordia.ca> Date: Tue, 24 Apr 2012 11:21:41 -0400 From: Emi Lu Reply-To: emilu@encs.concordia.ca User-Agent: Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20120129 Thunderbird/10.0 MIME-Version: 1.0 To: depesz@depesz.com CC: pgsql-sql@postgresql.org, pgsql-general@postgresql.org Subject: Re: Simple way to get missing number References: <4F96B57E.8080306@encs.concordia.ca> <20120424143139.GA7555@depesz.com> In-Reply-To: <20120424143139.GA7555@depesz.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on oldperseverance.encs.concordia.ca at 2012/04/24 11:21:41 EDT X-Pg-Spam-Score: -4.2 (----) X-Archive-Number: 201204/548 X-Sequence-Number: 186861 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@encs.concordia.ca +1 514 848-2424 x5884