sql >> Base de Datos >  >> RDS >> Mysql

DISTINCT una columna en una base de datos

Esto debería ser posible usando una subconsulta. La consulta interna ordena todas las filas por fecha, por lo que la primera instancia de cada nombre de usuario en ese resultado sería la fila que está buscando.

La consulta externa agrupa por nombre de usuario y AFAIK si no está usando GROUP_CONCAT esto siempre tomará la primera instancia de cada fila que contenga el nombre de usuario.

SELECT username, wikitext, wikidate FROM
  (SELECT username, wiki.text AS wikitext, wiki.date AS wikidate
  FROM wiki_house
  INNER JOIN wiki ON wiki_house.wiki_id = wiki.id
  INNER JOIN users ON wiki.user_id = users.id
  AND wiki_house.house_id = 1
  AND wiki.language = 'it'
  ORDER BY wiki.date DESC)
GROUP BY username
LIMIT 10

Si eso no funciona, eche un vistazo a la respuesta aceptada para este similar pregunta que tiene otra solución. Debería poder modificarlo para adaptarlo a sus necesidades.