Databases Reference
In-Depth Information
CASE WHEN DATEDIFF(YEAR,birthdate,GETDATE())< 20 then '< 20'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 20 and 29 then
'20 - 29'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 30 and 39 then
'30 - 39'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 40 and 49 then
'40 - 49'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 50 and 59 then
'50 - 59'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 60 and 69 then
'60 - 69'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())>= 70 then '70 +'
END AS Altersgruppe
FROM [dbo].[iw_customer])ag
group by ag.Altersgruppe
order by ag.Altersgruppe
17.5■Prozentanteil der Altersgruppen
in jeder Wertegruppe
Einen anderen Ansatz, den man verfolgen kann, ist die Ausweisung des prozentualen
Anteils jeder Altersgruppe pro Wertegruppe. Dazu müssen Sie die absoluten Zahlen pro
Altersgruppe ermitteln.
Select ag.Altersgruppe, count (*)Gesamt
from
(Select
CASE WHEN DATEDIFF(YEAR,birthdate,GETDATE())< 20 then '< 20'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 20 and 29 then
'20 - 29'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 30 and 39 then
'30 - 39'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 40 and 49 then
'40 - 49'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 50 and 59 then
'50 - 59'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())between 60 and 69 then
'60 - 69'
WHEN DATEDIFF(YEAR,birthdate,GETDATE())>= 70 then '70 +'
END AS Altersgruppe
FROM [dbo].[iw_customer])ag
group by ag.Altersgruppe
Diesen Select müssen Sie in die Abfrage einbauen und dann den Prozentwert berechnen.
(cast (aw.Anzahl as numeric)/ag2.Gesamt*100)'%-Anteil'
Wenn Sie den Wert „Anzahl“ nicht als numeric ausgeben, funktioniert die Rechnung nicht.
Das Ergebnis sollten Sie sich als zweistellige Dezimalzahl anzeigen lassen.
Cast((cast (aw.Anzahl as numeric)/ag2.Gesamt*100)as decimal (5,2))'%-
Anteil'
 
Search WWH ::




Custom Search