
18/06/2008, 12:35
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años Puntos: 300 | |
Respuesta: limitar repetidos a dos Si no es necesario que vayan seguidos en el número de id, esto te mostrará dos de cada, el que tenga el primer id y el que tenga el último id de cada uno de esos campos cuyo contenido aparezca repetido. He añadido a la consulta un campo id.
SELECT a.id, a.campoo FROM tutabla a INNER JOIN (SELECT MAX(id) as maximo, MIN(id) AS minimo, campoo FROM tutabla GROUP BY campoo HAVING COUNT(campoo )>1 ) AS T1 ON a . campoo =T1 . campoo WHERE a.id = T1.maximo OR a.id = T1.minimo ORDER BY a.campoo, a.id
El procedimiento es hacer una selección agrupando por campoo de aquellos que tienen repeticiones, seleccionando el id mínimo y el máximo por grupo. Luego por encima un inner join basado en campoo con una selección de la tabla y haciendo coincidir el id de tu tabla con el máximo o bien con el mínimo, y ordenando los registros seleccionados por campo e id de la tabla.
De todas formas, según creo, este tipo de cosas es más fácil hacerlas con programación.
Última edición por jurena; 18/06/2008 a las 13:52 |