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

MySQL selecciona las filas superiores con los mismos valores de condición

Creo que esta es la solución correcta:necesita la subconsulta para saber cuánta publicación tiene el décimo lugar en sus diez primeros. Luego, utiliza la consulta externa para extraer los usuarios con casi ese recuento de publicaciones.

SELECT u.username, COUNT(p.id) AS count 
FROM Posts p
JOIN Users u ON u.id = p.author_id
GROUP BY p.author_id 
HAVING COUNT(p.id) >= 
(
    SELECT COUNT(p.id) AS count 
    FROM Posts p
    JOIN Users u ON u.id = p.author_id
    GROUP BY p.author_id 
    ORDER BY count DESC
    LIMIT 9, 1
)
ORDER BY count DESC