Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL seleziona le prime righe con gli stessi valori di condizione

Questa è la soluzione giusta, penso:hai bisogno della sottoquery per sapere quanto post ha il 10° posto nella tua top ten. Quindi, utilizzi la query esterna per estrarre gli utenti con quasi quel numero di post.

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