From: | Mario Wojcik <mariowojcik(at)yahoo(dot)com(dot)ar> |
---|---|
To: | Juan Martínez <jeugenio(at)umcervantes(dot)cl> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Sentencia SQL para dos registros por grupo |
Date: | 2007-03-31 20:02:20 |
Message-ID: | 460EBE4C.6000604@yahoo.com.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Juan Martínez escribió:
> Mario Wojcik escribió:
>> Hola Muchachos...
>> Es posible hacer esto con una sola sentencia SQL bien hecha?
>> Por ejemplo, si en la base tengo esto...
>> # CLIENTE FECHA LLAMADA
>> 1 1 01/01 aaaaaaa
>> 2 1 02/01 bbbbbbb
>> 3 1 03/01 ccccccc
>> 4 1 04/01 ddddddd
>> 5 2 02/01 bbbbbbb
>> 6 3 02/01 fffffff
>> 7 3 06/01 jjjjjjj
>> 8 3 08/01 eeeeeee
>> 9 3 09/01 wwwwwww
>> 10 3 09/01 xxxxxxx
>>
>>
>> Yo quiero que la consulta me devuelva las 2 primeras de cada uno, es
>> decir:
>> CLIENTE FECHA LLAMADA
>> 1 1 01/01 aaaaaaa
>> 2 1 02/01 bbbbbbb
>> 5 2 02/01 bbbbbbb
>> 6 3 02/01 fffffff
>> 7 3 06/01 jjjjjjj
>>
>> Se podrá?
>
> A ver:
>
> SELECT nro,cliente,fecha,llamada
> FROM tabla
> GROUP BY cliente HAVING count(cliente) <= 2
> ORDER BY cliente,llamada;
>
> No lo probe, pero tengo la sospecha que deberia funcionar para lo que
> necesitas.
>
No funciona, con algunos arreglos logro que me devuelva solo los que
count es 1 o 2 por la condicion HAVING count devuelve el total .
Lo que necesito es que devuelva los primeros uno o dos (si existen)
registros de cada cliente y excluya los demas de cada uno.
From | Date | Subject | |
---|---|---|---|
Next Message | Rodolfo Villanueva | 2007-04-01 07:48:26 | Re: ayuda Zeos y postgres II |
Previous Message | Alvaro Herrera | 2007-03-31 18:03:37 | Re: Ayuda con "escape string syntax E'...' " |