Re: How to realize ROW_NUMBER() in 8.3?

From: Emi Lu <emilu(at)encs(dot)concordia(dot)ca>
To: pgsql-sql(at)postgresql(dot)org
Cc: "Oliveiros d'Azevedo Cristina" <oliveiros(dot)cristina(at)marktest(dot)pt>
Subject: Re: How to realize ROW_NUMBER() in 8.3?
Date: 2011-05-03 14:53:08
Message-ID: 4DC016D4.9090608@encs.concordia.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Thank you for the info.

I found a simple way:
==========================
[1] create SEQUENCE tmp start 7820;
[2]
insert into desti_table_name
select nextval('tmp'),
c1, c2... ... cN
from t1 left join t2... ... tn
where ... ...

Just for people using 8.3, this is mimic row_number.

Emi

> If your table is not terribly big, you can
> try something like
>
> SELECT a.col1,a.col2, COUNT(*) as row_number
> FROM yourTable a,yourTable b
> WHERE a.col1 >= b.col1 -- I'm assuming col1 is primary key
> GROUP BY a.col1,a.col2
> ORDER BY row_number
>
> This is pure SQL, should work in every version...
>
> Best,
> Oliveiros
>
> ----- Original Message ----- From: "Emi Lu" <emilu(at)encs(dot)concordia(dot)ca>
> To: <pgsql-sql(at)postgresql(dot)org>
> Sent: Wednesday, April 20, 2011 4:45 PM
> Subject: [SQL] How to realize ROW_NUMBER() in 8.3?
>
>
>> Hello,
>>
>> ROW_NUMBER() is only ready in 8.4. For 8.3, is there a simple way to
>> get row_number
>>
>> select row_number(), col1, col2...
>> FROM tableName
>>
>> Thanks a lot!
>>
>> Ding Ye
>>
>> --
>> Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-sql
>

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

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Steve Crawford 2011-05-03 15:54:29 Re: convert in GMT time zone without summer time
Previous Message Grzegorz Szpetkowski 2011-05-03 12:41:39 Re: BINARY and BINARY VARYING datatypes in PostgreSQL