Tengo una tabla sencilla comenta (id INT, revision INT, comment VARCHAR(140))
con un cierto contenido de esta manera:Pregunta de mejor rendimiento para "seleccionar máximo en el grupo"?
1|1|hallo1|
1|2|hallo2|
1|3|hallo3|
2|1|hallo1|
2|2|hallo2|
estoy en busca de una instrucción SQL que devolverá cada comentario con la mayor revisión:
1|3|hallo3|
2|2|hallo2|
tengo llegar a esta solución:
select id, revision, comment
from comments
where revision = (
select max(revision)
from comments as f
where f.id = comments.id
);
pero es muy lento en grandes conjuntos de datos. ¿Hay mejores consultas para lograr esto?
podrías considerar renombrar el tema para reflejar la optimización o el rendimiento? – hometoast
El uso de funciones de ventana suele ser más rápido. –