Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

No repetir resultados

Estas en el tema de No repetir resultados en el foro de Bases de Datos General en Foros del Web. Tengo una consulta en donde selecciono videos de la base de datos: Código PHP: SELECT *  FROM videos WHERE dueno  =  0  or  dueno  =  1 LIMIT 2 ORDER BY desc  ...
  #1 (permalink)  
Antiguo 20/09/2007, 17:33
Avatar de cdesseno  
Fecha de Ingreso: mayo-2007
Ubicación: Buenos Aires
Mensajes: 111
Antigüedad: 17 años
Puntos: 1
No repetir resultados

Tengo una consulta en donde selecciono videos de la base de datos:
Código PHP:
SELECTFROM videos
WHERE dueno 
or dueno 1 LIMIT 2
ORDER BY desc 
Pero necesito que no se repitan los que tiene el mismo valor de dueño. Por ejemplo si tengo esta tabla quiero que me seleccione los últimos 2 pero que tengan distinto dueño.

|.......id.......|..dueño....|..video.....|

|.......1.......|.......0 ......|.....hola1...|
|.......12.....|.......1...... |.....hola2...|
|.......21 ....|.......1.......|.....hola3...|
|.......22.....|.......0.......|.....hola4...|
|.......25 ....|.......2.......|.....hola5...|
|.......30.....|.......3.......|.....hola6...|
|.......35.....|.......3.......|.... hola7...|

Gracias.

Última edición por BrujoNic; 21/09/2007 a las 08:16
  #2 (permalink)  
Antiguo 21/09/2007, 03:43
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: No repetir resultados

pero entonces no tendría los resultados deseados, porque solo seleccionarias un video de cada dueño!!

En postgres sería:
select distinct(dueño), * from videos ....

Un saludo
  #3 (permalink)  
Antiguo 21/09/2007, 09:26
Avatar de cdesseno  
Fecha de Ingreso: mayo-2007
Ubicación: Buenos Aires
Mensajes: 111
Antigüedad: 17 años
Puntos: 1
Re: No repetir resultados

Gracias, eso era lo que buscaba.
  #4 (permalink)  
Antiguo 21/09/2007, 17:41
Avatar de cdesseno  
Fecha de Ingreso: mayo-2007
Ubicación: Buenos Aires
Mensajes: 111
Antigüedad: 17 años
Puntos: 1
Re: No repetir resultados

Mmm, ahora me doy cuenta de algo, cuando uso distinct sólo me devulve esa columna, pero también quiero saber la info de las otras.
  #5 (permalink)  
Antiguo 24/09/2007, 02:34
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: No repetir resultados

Cita:
Iniciado por cdesseno Ver Mensaje
Mmm, ahora me doy cuenta de algo, cuando uso distinct sólo me devulve esa columna, pero también quiero saber la info de las otras.
mmm por eso te decia que no tendrias los resultados deseados.
Si solo quieres sacar una vez el dueño, solo obtendras información de uno de los videos.
Replanteate que es lo que quieres / necesitas.

Un saludo
  #6 (permalink)  
Antiguo 28/09/2007, 18:50
Avatar de cdesseno  
Fecha de Ingreso: mayo-2007
Ubicación: Buenos Aires
Mensajes: 111
Antigüedad: 17 años
Puntos: 1
Re: No repetir resultados

Con GROUP BY se podría hacer?
  #7 (permalink)  
Antiguo 29/09/2007, 05:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: No repetir resultados

depende de la información que quieras...

Dime que es lo que quieres exactamente que salga, pero ten en cuenta que si quieres información de los videos, si el dueño 3 tiene 2 videos tienes que sacar los 2 videos.

No se si me explico...

Un saludo
  #8 (permalink)  
Antiguo 29/09/2007, 13:07
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: No repetir resultados

Por lo que logro entender quiere un listado de los dos ultimos videos de dueños distintos.....

A ver si esto ayuda
Código:
   Select Id, Dueño, Video
   From Videos A
   Where Id = MAX(Id)
   Group By Dueño, Video

Union

   Select Id, Dueño, Video
   From Videos A
   Where Not Exists(
         Select 1
         From Video B
         Where B.Dueño = A.Dueño
            And B.Id = MAX(B.Id)
         Group By Dueño
      ) 
      And Id = MAX(Id)
   Group By Dueño, Video
No esta probada y es un poco arcaica, pero la verdad estoy algo cansado.... :( espero te sirva, si no espero mañanta tener mas pila.... :p


saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:32.