Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2008, 06:08
Avatar de hshadow
hshadow
 
Fecha de Ingreso: abril-2008
Mensajes: 42
Antigüedad: 16 años
Puntos: 0
Limitar la cantidad de veces que aparece un elemento según una columna

Hola.

No se como explicarlo pero basicamente lo que necesito es hacer un "distinct" de más de un elemento. El distinct comun te evita la aparicion de un elemento más de una vez; yo necesito limitar las apariciones a una cantidad especifica (ej. 2 o 3 veces tiene permitido repetirse).

Sé que podría hacerlo con arrays y filtrarlo con algunos contadores y otras funciones pero esa tabla va en aumento y hacer un "select *" me comeria cada vez mas memoria y haría al sitio cada vez más lento; por lo que debo tratar se hacer el filtro desde la misma base para poder finalizar el query co un "limit 0, X" y ya tener los elementos que necesito.

Ej:
tenemos una tabla con 3 columnas donde la uno puede contener varias veces el mismo valor y hacemos:

select distinct columna1 from tabla

Esto devuelve todos los valores de esa columna de la tabla sin repetirse, no?

Bueno, yo nesecito algo como esto:

select distinct(2) columna1 from tabla

donde el "(2)" es un marcador de la cantidad de veces que quiero permitir que se repita el elemento.

Gracias de antemano.

Hasta luego.