Обсуждение: obtaining row number of select

Поиск
Список
Период
Сортировка

obtaining row number of select

От
kkeller@speakeasy.net (Keith Keller)
Дата:
So I'm trying to generate a pseudo-serial number of a select
statement on the fly, and I want to do so within the select
statement.  I could do this programmatically, but I wish to
use the select statement so that I can use it in creating a
view.

So, I would like to do something like so:
select serial(),* from mytable order by 1;

But of course that won't work.  :)  Is there any way to
autovivify a serial-like column for a select statement?
(I've scoured the docs, and still can't find an answer.)

--keith

-- 
kkeller@speakeasy.net
public key:  http://wombat.san-francisco.ca.us/kkeller/public_key
alt.os.linux.slackware FAQ:  http://wombat.san-francisco.ca.us/perl/fom



Re: obtaining row number of select

От
"Christopher Kings-Lynne"
Дата:
> So I'm trying to generate a pseudo-serial number of a select
> statement on the fly, and I want to do so within the select
> statement.  I could do this programmatically, but I wish to
> use the select statement so that I can use it in creating a
> view.
>
> So, I would like to do something like so:
>
>     select serial(),* from mytable order by 1;
>
> But of course that won't work.  :)  Is there any way to
> autovivify a serial-like column for a select statement?
> (I've scoured the docs, and still can't find an answer.)

What about:

create sequence "myseq";
create view "myview" as select nextval('myseq'), * from mytable order by 1;

I tried this myself and every time I select from it, the sequence value is
incremented.

Chris