FRANK RADA escribió:
asi filttre los repetidos

SELECT susc, count(susc)
FROM X
GROUP BY susc
HAVING count(susc) >1
ORDER BY susc;

ahora la pregunta.

1.como calsulo cuantas tuplas estan repetidas.
2.como elimino las repetidas teniendo en cuenta que debo guardar una
tupla de estas.

al script que tu has creado le llamare script "picoso"


1. Como calculo cuantas tuplas estan repetidas?

si te referis a cuantas tuplas equivalen a tu script "picoso" podrias hacer lo siguiente:

   select * from X as a
   where exists(
      select susc, count(susc)
      from X
      where a.susc=susc
      group by susc
      having count(susc)>1)
   order by susc


Lo anterior te dara como resultado todas las tuplas que aparecen más de una vez, osea las repetidas, en otras palabras todas las tuplas que tu script picoso extrae, pero a detalle....



2. Como elimino las repetidas teniendo en cuenta que debo guardar una tupla de estas?....

muy buena pregunta, yo ya he tenido situaciones como la presentas, en aquellos entonces la única solución para mí ha sido la siguiente:

crear una tabla temporal con sin filas repetidas....

    select distinct * into X_tmp from X

luego eliminar todo de la tabla con tuplas repetidas y al final hacer un llenado de la tabla temporal

   delete from X;
   insert into X select * from X_tmp;



--
Cordialmente,
Juan Ramírez
El Salvador
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
   (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)

Responder a