Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да сумирам множествен брой от множество таблици

Ето SQL Fiddle което показва, че заявката по-долу наистина работи. Както можете да видите, създавам таблиците и ги попълвам с данните, които имате във вашия въпрос. След това изпълнявам заявката по-долу, за да събера данните, от които се нуждаете. Проверих броя и те се изчисляват правилно.

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. Как да създадете вложено меню от MySQL с PHP?

  2. Брояч на приращение на MySQL SELECT

  3. SQL изявление - ИЗБЕРЕТЕ обратната на тази заявка

  4. Как да добавя персонализирана колона в мрежата за продажби/поръчки в Magento?

  5. mySQL Заявка за сумиране на сума в колони (месеци)