Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL sélectionne les premières lignes avec les mêmes valeurs de condition

C'est la bonne solution, je pense:vous avez besoin de la sous-requête pour savoir combien de messages ont la 10e place dans votre top dix. Ensuite, vous utilisez la requête externe pour extraire les utilisateurs avec presque ce postcount.

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