Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

DISTINCT uma coluna em um banco de dados


Isso deve ser possível usando uma subconsulta. A consulta interna ordena todas as linhas por data, portanto, a primeira instância de cada nome de usuário nesse resultado seria a linha que você está procurando.

A consulta externa agrupa por nome de usuário e AFAIK se você não estiver usando GROUP_CONCAT isso sempre terá a primeira instância de cada linha contendo o nome de usuário.
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

Se isso não funcionar, dê uma olhada na resposta aceita para este semelhante pergunta que tem outra solução. Você deve ser capaz de modificá-lo para atender às suas necessidades.