Re: SELECT DISTINCT

From: "Victor Lopez" <d01m01a2000(at)gmail(dot)com>
To: mortega(at)tc(dot)com(dot)ve
Cc: "jose ricardo" <joripeca(at)yahoo(dot)com(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: SELECT DISTINCT
Date: 2007-05-09 16:04:23
Message-ID: ae043d070705090904g1b720f7bw61194918fa4f9fdb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Como laboratorio de resultados ...

Este es el contenido, despues de un CREATE y algunos INSERT ...
test=# SELECT * FROM test;
id | palabra | descripcion
----+------------+-----------------------------------------------------------
1 | MANTA | Prenda de cama que quita mucho frio
2 | PORTOVIEJO | Nombre de ciudad (puede no ser un puerto, pero vieja ...)
3 | MANTA | Prenda de cama que quita mucho frio
4 | CHONE | Ni idea de lo que quiere decir
5 | MANTA | Prenda de cama que quita mucho frio ... pero mucho
6 | CHONE | De verdad que ni idea ... :-(
7 | CHONE | Ya estamos otra vez?
(7 filas)

DISTINCT actua sobre los campos que se visualizan
test=# SELECT DISTINCT palabra FROM test;
palabra
------------
CHONE
MANTA
PORTOVIEJO
(3 filas)

Sigue actuando sobre los campos que se visulizan
Por eso solo aparecen 2 lineas de 'MANTA' ... las distintas
test=# SELECT DISTINCT palabra, descripcion FROM test;
palabra | descripcion
------------+-----------------------------------------------------------
CHONE | De verdad que ni idea ... :-(
CHONE | Ni idea de lo que quiere decir
CHONE | Ya estamos otra vez?
MANTA | Prenda de cama que quita mucho frio
MANTA | Prenda de cama que quita mucho frio ... pero mucho
PORTOVIEJO | Nombre de ciudad (puede no ser un puerto, pero vieja ...)
(6 filas)

El DISTINCT 'made in PostgreSQL' solo trabaja sobre las columnas que especifica,
visualizando la (creo) primera según el ORDER BY
aquí solo pongo una, pero la documenteción dice que permite mas (
expression [, ...] )
test=# SELECT DISTINCT ON (palabra) palabra, descripcion FROM test
ORDER BY palabra;
palabra | descripcion
------------+-----------------------------------------------------------
CHONE | Ni idea de lo que quiere decir
MANTA | Prenda de cama que quita mucho frio
PORTOVIEJO | Nombre de ciudad (puede no ser un puerto, pero vieja ...)
(3 filas)

Pero tampoco tengo muy claro lo del ORDER BY
test=# SELECT DISTINCT ON (palabra) palabra, descripcion FROM test
ORDER BY palabra DESC;
palabra | descripcion
------------+-----------------------------------------------------------
PORTOVIEJO | Nombre de ciudad (puede no ser un puerto, pero vieja ...)
MANTA | Prenda de cama que quita mucho frio
CHONE | Ni idea de lo que quiere decir
(3 filas)

Con un poco de suerte no te he liado mas ... :-)

--
----o---( )---o----
Saludos de Victor Lopez Sabio
d01m01a2000(at)gmail(dot)com
--------oooo--------

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Victor Lopez 2007-05-09 16:06:13 Re: forzar una respuesta 'boolean'
Previous Message Junior - GMail 2007-05-09 15:51:27 En Linux, Mi Disco duro se daño y solo pude rescatar /usr/local/pgsql/data