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

Jak zsumować wielokrotną liczbę z wielu tabel

Oto SQL Fiddle pokazując, że poniższe zapytanie rzeczywiście działa. Jak widzisz, tworzę tabele i wypełniam je danymi, które masz w swoim pytaniu. Następnie wykonuję poniższe zapytanie, aby zebrać potrzebne dane. Zweryfikowałem obliczenia i obliczają poprawnie.

SELECT PM.*, 
  (
    PM.SongCount + PM.LessonCount + 
    PM.SongCommCount + PM.LessonCommCount
  ) AS TotalCount 
FROM (
  SELECT P.poster_id, 
    (
      SELECT COUNT(poster_id) 
      FROM song S 
      WHERE P.poster_id = S.poster_id
    ) AS SongCount, 
    (
      SELECT COUNT(poster_id) 
      FROM lesson L 
      WHERE P.poster_id = L.poster_id
    ) AS LessonCount, 
    (
      SELECT COUNT(poster_id) 
      FROM SongComment SC 
      WHERE P.poster_id = SC.poster_id
    ) AS SongCommCount, 
    (
      SELECT COUNT(poster_id) 
      FROM LessonComment LC 
      WHERE P.poster_id = LC.poster_id
    ) AS LessonCommCount 
  FROM poster AS P 
  LIMIT 0, 50
) AS PM
ORDER BY 
  (
    PM.SongCount + PM.LessonCount + 
    PM.SongCommCount + PM.LessonCommCount
  ) 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. wygeneruj klasę enum z tabeli za pomocą JOOQ

  2. Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/tmp/mysql.sock' (2)

  3. PHP i MySQL z Highchart

  4. Jak wybrać liczbę za pomocą płynnego kreatora zapytań Laravela?

  5. Korzystanie z nieużywanych kluczy podstawowych