Hey guys I need some help, I can't get the execution right...
I have two queries that get me the results I need to get the right percentage.
1st query:
Select Date, AgeGroup,SUM(NumberOfFans) From FansPerGenderAge WHERE date = (SELECT max(date) from FansPerGenderAge) GROUP BY AgeGroup;
Results:
2018-10-16|13-17|20332
2018-10-16|18-24|206787
2018-10-16|25-34|347581
2018-10-16|35-44|188335
2018-10-16|45-54|91804
2018-10-16|55-64|48793
2018-10-16|65+|67379
2nd query:
Select SUM(NumberOfFans) From FansPerGenderAge WHERE date = (SELECT max(date) from FansPerGenderAge);
Results:
971011
I need to divide the NumberOfFans results in query 1, by the result from query two
And the end results should display AgeGroup and PercentageOfFans grouped by AgeGroup...
Any thoughts?
I tried simple things like:
SELECT AgeGroup, Round(AgeGroup * 100.0 / SUM(NumberOfFans), 4) FROM FansPerGenderAge WHERE date = (SELECT max(date) from FansPerGenderAge) GROUP BY AgeGroup;
13-17|0.0639
18-24|0.0087
25-34|0.0072
35-44|0.0186
45-54|0.049
55-64|0.1127
65+|0.0965
But that's not the right percentage when the calculations are done manually.
The answer for age group 13-17 should be 0.020939
use
Cross JoinandSubqueryto get your desired result