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

MySQL seleciona as linhas superiores com os mesmos valores de condição


Esta é a solução certa, eu acho:você precisa da subconsulta para saber quanto post tem o 10º lugar no seu top dez. Em seguida, você usa a consulta externa para extrair os usuários com quase essa contagem de postagens.
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