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

Obtenha a data mais recente dos dados MySQL agrupados


Você está procurando a data máxima para cada modelo?
SELECT model, max(date) FROM doc
GROUP BY model

Se você estiver procurando por todos os modelos que correspondam à data máxima de toda a tabela...
SELECT model, date FROM doc
WHERE date IN (SELECT max(date) FROM doc)

[--- Adicionado ---]

Para aqueles que desejam exibir detalhes de todos os registros correspondentes à data mais recente em cada grupo de modelos (não dados de resumo, conforme solicitado no OP):
SELECT d.model, d.date, d.color, d.etc FROM doc d
WHERE d.date IN (SELECT max(d2.date) FROM doc d2 WHERE d2.model=d.model)

MySQL 8.0 e mais recentes suportam o OVER cláusula, produzindo os mesmos resultados um pouco mais rápido para conjuntos de dados maiores.
SELECT model, date, color, etc FROM (SELECT model, date, color, etc, 
  max(date) OVER (PARTITION BY model) max_date FROM doc) predoc 
WHERE date=max_date;