SQL: quitar id's repetidos y ordenar por fecha

Iniciado por JonaLamper, 15 Septiembre 2016, 17:00 PM

0 Miembros y 1 Visitante están viendo este tema.

JonaLamper

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 (sql) [Seleccionar]
SELECT DISTINCT id_usuario, foto, nickname, fecha
FROM actividad t1 INNER JOIN jovenes t2 ON t1.id_usuario = t2.id_joven
WHERE fecha >= DATE_SUB( CURDATE() , INTERVAL  '2' DAY )
AND id_usuario IN (SELECT id_seguido FROM amigos WHERE id_seguidor = '1')
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?


               
Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.

ivancea96

#1
Ponle al final GROUP BY id_usuario.
En principio, así debería elegir solo el primero paracada id.

DISTINCT elimina filas repetidas. Filas completas.