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

Skomplikowane zapytanie COUNT w MySQL

Sugestia X-Zero dotycząca dodania „kredytu przesyłającego” do danych to najlepszy sposób, aby zapytanie było proste. Jeśli nie jest to możliwe, wykonaj wewnętrzne połączenie między userprofile_videoinfo i userprofile_videocredit, aby ułatwić eliminację duplikatów:

SELECT u.id, u.full_name, COUNT(DISTINCT v.video_id) as credit_count
FROM userprofile_userprofile u
LEFT JOIN (SELECT vi.video_id, vi.uploaded_by_id, vc.profile_id as credited_to_id
    FROM userprofile_videoinfo vi
    JOIN userprofile_videocredit vc ON vi.id = vc.video_id
    ) v ON u.id = v.uploaded_by_id OR u.id = v.credited_to_id
GROUP BY u.id, u.full_name
ORDER BY credit_count DESC

Podzapytanie może być przydatne do utworzenia jako widoku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd PDO:Nieprawidłowy numer parametru:parametr nie został zdefiniowany

  2. Pobranie podwojenia wartości funkcji tablicowej w każdej pozycji tablicy?

  3. Jak dołączyć do tabeli kategorii dla rodziców w zapytaniu SQL?

  4. Ostrzeżenie:mysql_fetch_array() oczekuje, że parametr 1 będzie zasobem [...]

  5. MySQL:licz różne wiersze dziennie