sql >> Databasteknik >  >> RDS >> Mysql

Aggregering av data

Detta är svaret på din fråga:

SELECT
   program_id, 
   reporting_day, 
   CAST((CAST(total AS FLOAT)/CAST(total_seconds AS FLOAT)*100*weight) AS DECIMAL(5,2))
     AS viewing_percentage
   FROM table_b
        OUTER APPLY (
             SELECT
                  SUM(seconds_viewed) AS total
                  FROM table_a
                  WHERE table_a.program_id = table_b.program_id
                  AND table_a.viewing_day <= table_b.reporting_day
         ) AS t

Miljön jag har använt är Microsoft SQL Server 2014



  1. SQL MERGE-sats för att uppdatera data

  2. Använd Mysql i dev/prod och H2 i test

  3. MySQL och GROUP_CONCAT() maxlängd

  4. Kan PDO rowCount() efter UPDATE-frågan visa skillnaden mellan inga ändringar gjorda och en obefintlig rad?