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. 科学的記数法なしでSQLServerでfloatをvarcharに変換する

    2. PHPには.NETのDataSetに似た構造がありますか?

    3. 降順-月、日、年

    4. mySQLTABLEにないファイルを削除します