Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: JonaLamper en 15 Septiembre 2016, 17:00 pm



Título: SQL: quitar id's repetidos y ordenar por fecha
Publicado por: JonaLamper en 15 Septiembre 2016, 17:00 pm
Buenas,

Tengo que hacer una consulta SQL en la que tengo que filtrar id's de usuarios por una columna fecha. Tengo la consulta que me permite ordenar los id's por la fecha, pero hay repeticiones de id's y los quiero quitar. Esta es la consulta:

Código
  1. SELECT DISTINCT id_usuario, foto, nickname, fecha
  2. FROM actividad t1 INNER JOIN jovenes t2 ON t1.id_usuario = t2.id_joven
  3. WHERE fecha >= DATE_SUB( CURDATE() , INTERVAL  '2' DAY )
  4. AND id_usuario IN (SELECT id_seguido FROM amigos WHERE id_seguidor = '1')
  5. ORDER BY fecha DESC

Supongamos que el resultado es el siguiente:

id_usuario:              12  40  30  12  24  40  30  12
fecha (en días):        1   2    4    5    6    7   10   11

Entonces yo quisiera que mi resultado final fuese:

id_usuario:          12   40   30   24
fecha (en días):     1     2    4     6

De tal forma que me ha eliminado los id's repetidos y se ha quedado con los id's que tienen menos días. El problema de la consulta de arriba es que el DISTINCT no me está funcionando, ¿a alguien se le ocurre alguna manera de eliminar los id's repetidos?


               


Título: Re: SQL: quitar id's repetidos y ordenar por fecha
Publicado por: ivancea96 en 15 Septiembre 2016, 19:30 pm
Ponle al final GROUP BY id_usuario.
En principio, así debería elegir solo el primero paracada id.

DISTINCT elimina filas repetidas. Filas completas.