Solución:
¿Buscas la fecha máxima para cada modelo?
SELECT model, max(date) FROM doc
GROUP BY model
Si está buscando todos los modelos que coincidan con la fecha máxima de toda la tabla …
SELECT model, date FROM doc
WHERE date IN (SELECT max(date) FROM doc)
[— Added —]
Para aquellos que desean mostrar detalles de cada registro que coincida con la última fecha dentro de cada grupo de modelos (no datos de resumen, como se solicita en el 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 y versiones posteriores son compatibles con OVER
cláusula, produciendo los mismos resultados un poco más rápido para conjuntos de datos más grandes.
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;
Puede intentar usar max () en la subconsulta, algo como esto:
SELECT model, date
FROM doc
WHERE date in (SELECT MAX(date) from doc GROUP BY model);
Subconsulta dando fechas. No nos vinculamos con el modelo. Entonces, la siguiente consulta resuelve el problema.
Si hay fechas / modelos duplicados, puede evitarse mediante la siguiente consulta.
select t.model, t.date
from doc t
inner join (select model, max(date) as MaxDate from doc group by model)
tm on t.model = tm.model and t.date = tm.MaxDate
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)