Hallo,
leider habe ich wieder ein Problem und irgendwie verliere ich manchmal den totalen Überblick bei SQL :(.
Ich soll den prozentualen Anteil von jeder Religion an der Weltbevölkerung berechnen. Also ich versteh es so das am Ende eine Tabelle rauskommen soll wo Religion und der Anteil an der Weltbevölkerung in % steht.
Ich habe jetzt einiges rumprobiert in dem ich zuerst einmal Bevölkerungsanzahl zu jeder Religion zu jedem Land berechne und dann das als UNterabfrage benutze aber es kommt nicht wirklich das raus was ich brauche:
Hier ist ein kleiner Ausschnitt von den ersten 11 Einträgen (von insgesamt ca.70) welche aber schon 100% übersteigt - also kann meine SQL Abfrage ja nicht richtig sein?
Alles anzeigen
Kann mir da einer helfen und irgendwie einen Tipp geben?
leider habe ich wieder ein Problem und irgendwie verliere ich manchmal den totalen Überblick bei SQL :(.
Ich soll den prozentualen Anteil von jeder Religion an der Weltbevölkerung berechnen. Also ich versteh es so das am Ende eine Tabelle rauskommen soll wo Religion und der Anteil an der Weltbevölkerung in % steht.
Ich habe jetzt einiges rumprobiert in dem ich zuerst einmal Bevölkerungsanzahl zu jeder Religion zu jedem Land berechne und dann das als UNterabfrage benutze aber es kommt nicht wirklich das raus was ich brauche:
Quellcode
- SELECT Religion.Name, ((SUM(Anteil.Anteil) / SUM(Country.Population) ) * 100) Prozentanteil
- FROM Religion INNER JOIN (
- SELECT Country.Code AS Country, Religion.Name AS Name, SUM((Religion.Percentage * Country.Population) / 100) AS Anteil
- FROM Country INNER JOIN Religion ON Country.Code = Religion.Country
- GROUP BY Country.Code, Religion.Name
- ) Anteil ON Religion.Name = Anteil.Name AND Religion.Country = Anteil.Country, Country
- GROUP BY Religion.Name;
Hier ist ein kleiner Ausschnitt von den ersten 11 Einträgen (von insgesamt ca.70) welche aber schon 100% übersteigt - also kann meine SQL Abfrage ja nicht richtig sein?
Quellcode
- Alawite
- Albanian Orthodox 2,20112286373692313796133576149372737665
- Anglican 2,66761970363301366437320801865885484664
- Armenian Apostolic 0,7072306690370996329339221270640916907084
- Armenian Orthodox 5,81306760636146146789629358111805226717
- Bahai 0,7463724112340413946470831185349149585934
- Baptist 0,1898130219851875104720970874743909029647
- Buddhism 65,63578858972870627201455004660773897587
- Buddhist 25,88433044562024875297721117586038893035
- Bulgarian Orthodox 24,79747831367122871695381674202328908582
- Calvinist 6,7762081028821160152443349152227636294
Kann mir da einer helfen und irgendwie einen Tipp geben?