我有两个表格,我需要从中计算查看百分比。数据汇总
表A有三列
Table A
Program_id Viewing_Day Seconds_viewed
-------------------------------------
1 1 520
1 2 330
1 3 650
1 5 100
2 1 90
2 3 80
2 4 560
2 6 980
2 7 1050
表B有四列
Table B
Program_id Reporting_day Total_Seconds Weight
---------------------------------------------
1 1 1800 1
1 3 1800 0.95
1 5 1800 0.9
1 7 1800 0.8
2 1 3600 1
2 3 3600 0.9
2 5 3600 0.8
2 7 3600 0.7
需要计算观看百分比为每个Reporting_Day
Viewing_percentage = (SUM(Seconds_Viewed)/Total_seconds) * Weight * 100
例来计算观看百分比为Program_id = 1和Reporting_Day = 5
因此,需要从表A
Table A
Program_id Viewing_Day Seconds_viewed
-------------------------------------
1 1 520
1 2 330
1 3 650
1 5 100
总分第二名考虑所有记录Viewing_Day < = 5 Program_id = 1将是1600
对应表2的记录
Table B
Program_id Reporting_day Total_Seconds Weight
---------------------------------------------
1 5 1800 0.9
投入式
Viewing_percentage = ((520+330+650+100)/1800) * 100 * 0.9 = 80
我需要计算所有和插入使成品表C
Table c
Program_id Reporting_day Viewing_percentage
--------------------------------------------
1 1 28.88 - (520/1800) * 100 * 1
1 3 79.16 - (1500/1800) * 100 * 0.95
1 5 80.00 - Explained Above
1 7 71.11 - (1600/1800) * 100 * 0.8
2 1 2.50 - (90/3600) * 100 * 1
2 3 4.25 - (170/3600) * 100 * 0.9
2 5 16.22 - (730/3600) * 100 * 0.8
2 7 53.67 - (2760/3600) * 100 * 0.7
我需要编写SQL的一样。我只能为每个Reporting_Day考虑UNION。 Reporting_Day将保持不变(1,3,5,7)
您能否在编写不使用UNION的SQL帮助?硬编码Reporting_Day(1,3,5,7)不是问题。