Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL wybierz górne wiersze z tymi samymi wartościami warunków

Myślę, że to jest właściwe rozwiązanie:potrzebujesz podzapytania, aby wiedzieć, ile postów zajmuje 10. miejsce w Twojej pierwszej dziesiątce. Następnie używasz zewnętrznego zapytania, aby wyodrębnić użytkowników z prawie taką liczbą postów.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skrypt tworzenia użytkownika Mysql

  2. Czy MySQL automatycznie optymalizuje podzapytania?

  3. jak zalogować się do mysql i odpytać bazę danych z terminala linux

  4. MySQL - Zamień znak w kolumnach

  5. PDO bindParam() z wieloma nazwanymi parametrami