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

¿Cómo hacer una consulta mayor-n-por-grupo más rápida?

prueba esto:

SELECT    district, id, COUNT(b.district)
FROM      adverts a INNER JOIN adverts b
              ON a.district = b.district
WHERE     b.id > a.id
GROUP BY  district, id 
HAVING    COUNT(b.district) < 5
ORDER BY  district, id DESC 

por definición, Joins son más rápidos que subqueries .