Lists: | pgsql-es-ayuda |
---|
From: | "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Cómo numerar secuencialmente las filas resultado de una consulta en SQL |
Date: | 2006-08-08 19:27:14 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Alguien sabe cómo escribir (en lo posible sin apelar a un
procedimiento almacenado) una consulta sql para que agregue como
primera columna un campo con el nº de orden de cada registro que sale
como resultado de la misma ?
Ej. si tengo la tabla personas asi:
select nombre from personas ;
nombre
----------
Juan
Pablo
Angel
Mario
y la quiero ordenada por nombre hago
select nombre from personas order by nombre me da
nombre
----------
Angel
Juan
Mario
Pablo
Ahora bien, quiero agregar un campo virtual en la consulta llamado
NroDeOrden de modo que quede la salida:
NroDeOrden | nombre
-------------------------------
1 | Angel
2 | Juan
3 | Mario
4 | Pablo
--
Guillermo O. Burastero
Usuario GNU/Linux #84879 - http://counter.li.org/
Bahía Blanca, Buenos Aires, Argentina
Tel. +54(291)454-6132
From: | "Miguel Huerta" <hgmiguel(at)gmail(dot)com> |
---|---|
To: | "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Cómo numerar secuencialmente las filas resultado de una consulta en SQL |
Date: | 2006-08-08 19:38:14 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
On 8/8/06, Guillermo O. Burastero <linux(dot)gb(at)gmail(dot)com> wrote:
> Alguien sabe cómo escribir (en lo posible sin apelar a un
> procedimiento almacenado) una consulta sql para que agregue como
> primera columna un campo con el nº de orden de cada registro que sale
> como resultado de la misma ?
>
> Ej. si tengo la tabla personas asi:
> select nombre from personas ;
> nombre
> ----------
> Juan
> Pablo
> Angel
> Mario
>
> y la quiero ordenada por nombre hago
> select nombre from personas order by nombre me da
>
> nombre
> ----------
> Angel
> Juan
> Mario
> Pablo
>
> Ahora bien, quiero agregar un campo virtual en la consulta llamado
> NroDeOrden de modo que quede la salida:
> NroDeOrden | nombre
> -------------------------------
> 1 | Angel
> 2 | Juan
> 3 | Mario
> 4 | Pablo
>
create sequence next_id;
Select nextval('next_id') as NroDeOrden , nombre
from personas order by nombre
No se si funcione, no puedo probarlo. Ahi nos dices si sirvio.
> --
> Guillermo O. Burastero
> Usuario GNU/Linux #84879 - http://counter.li.org/
> Bahía Blanca, Buenos Aires, Argentina
> Tel. +54(291)454-6132
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 5: ¿Has leído nuestro extenso FAQ?
>
> http://www.postgresql.org/files/documentation/faqs/FAQ.html
>
--
http://hgMiguel.blogspot.com/
hgMiguel(at)gmail(dot)com
From: | "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com> |
---|---|
To: | "Miguel Huerta" <hgmiguel(at)gmail(dot)com> |
Cc: | "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Cómo numerar secuencialmente las filas resultado de una consulta en SQL |
Date: | 2006-08-08 20:07:53 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
2006/8/8, Miguel Huerta <hgmiguel(at)gmail(dot)com>:
>
> On 8/8/06, Guillermo O. Burastero <linux(dot)gb(at)gmail(dot)com> wrote:
> > Alguien sabe cómo escribir (en lo posible sin apelar a un
> > procedimiento almacenado) una consulta sql para que agregue como
> > primera columna un campo con el nº de orden de cada registro que sale
> > como resultado de la misma ?
> >
> > Ej. si tengo la tabla personas asi:
> > select nombre from personas ;
> > nombre
> > ----------
> > Juan
> > Pablo
> > Angel
> > Mario
> >
> > y la quiero ordenada por nombre hago
> > select nombre from personas order by nombre me da
> >
> > nombre
> > ----------
> > Angel
> > Juan
> > Mario
> > Pablo
> >
> > Ahora bien, quiero agregar un campo virtual en la consulta llamado
> > NroDeOrden de modo que quede la salida:
> > NroDeOrden | nombre
> > -------------------------------
> > 1 | Angel
> > 2 | Juan
> > 3 | Mario
> > 4 | Pablo
> >
> create sequence next_id;
> Select nextval('next_id') as NroDeOrden , nombre
> from personas order by nombre
corrigiendo o añadiendo a la consulta seria:
SELECT nextval('next_id') as NroDeOrden, p.nombre FROM (SELECT nombre FROM
personas ORDER BY nombre) as p;
No se si funcione, no puedo probarlo. Ahi nos dices si sirvio.
> > --
> > Guillermo O. Burastero
> > Usuario GNU/Linux #84879 - http://counter.li.org/
> > Bahía Blanca, Buenos Aires, Argentina
> > Tel. +54(291)454-6132
> >
> > ---------------------------(fin del mensaje)---------------------------
> > TIP 5: ¿Has leído nuestro extenso FAQ?
> >
> > http://www.postgresql.org/files/documentation/faqs/FAQ.html
> >
>
>
> --
> http://hgMiguel.blogspot.com/
> hgMiguel(at)gmail(dot)com
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>
--
Linder Poclaba Lázaro.
Desarrollador Key Optimal Solutions KEYOS.
Usa Software Libre y obtiene tú libertad.
From: | "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com> |
---|---|
To: | "Miguel Huerta" <hgmiguel(at)gmail(dot)com> |
Cc: | "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Cómo numerar secuencialmente las filas resultado de una consulta en SQL |
Date: | 2006-08-10 20:56:43 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
> corrigiendo o añadiendo a la consulta seria:
>
> SELECT nextval('next_id') as NroDeOrden, p.nombre FROM (SELECT nombre FROM
> personas ORDER BY nombre) as p;
>
>Gracias, funcionó ok. Lo único es que hay que inicializar la secuencia
>cada vez que se corre con un
>drop sequence next_id; create sequence next_id;
no necesitas eliminar la secuencia y volver a crearla, puedes reasignar el
empiezo de la secuencia
SELECT setval('nombre_secuencia',0);
o el número donde quieras que empiece.
From: | "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com> |
---|---|
To: | "Miguel Huerta" <hgmiguel(at)gmail(dot)com> |
Cc: | "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Cómo numerar secuencialmente las filas resultado de una consulta en SQL |
Date: | 2006-08-10 20:59:47 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
2006/8/10, Linder Poclaba <linder(dot)poclaba(at)gmail(dot)com>:
>
>
>
> > corrigiendo o añadiendo a la consulta seria:
> >
> > SELECT nextval('next_id') as NroDeOrden, p.nombre FROM (SELECT nombre
> FROM
> > personas ORDER BY nombre) as p;
> >
>
> >Gracias, funcionó ok. Lo único es que hay que inicializar la secuencia
> >cada vez que se corre con un
> >drop sequence next_id; create sequence next_id;
>
> no necesitas eliminar la secuencia y volver a crearla, puedes reasignar el
> empiezo de la secuencia
>
> SELECT setval('nombre_secuencia',0);
>
perdon en 1 :)
o el número donde quieras que empiece.
>
>
--
Linder Poclaba Lázaro.
Desarrollador Key Optimal Solutions KEYOS.
Usa Software Libre y obtiene tú libertad.