ACCESS SQL ABFRAGE: Sortiere Anzahl MA nach Alter

SIMSALABIM

Benutzer
Beiträge
11
Ich muss die Anzahl der Einwohner nach Alter Sortieren ( bis 18J; über 18 bis 30J; über 40 J)

Anfangs hat ichs im
WHERE YEAR(Geburtsdatum) >1990 OR YEAR(Geburtsdatum) <1978 OR YEAR(Geburtsdatum) BETWEEN 1998 AND 1978
GROUP BY YEAR(Geburtsdatum)

Kann ich das auch im SELECT-Teil in der mit diesen Bedingungen aggregieren damit ich jede Bediengung als einzelne Spalte mir anzeigen lassen kann.

z.B bis 18 = 10 EW, ü18-30= 30 und so weiter
 
Werbung:
ja, geht.

Du hast:

Code:
test=*# select * from leute;
 id |  geb_date  
----+------------
  1 | 1991-01-07
  2 | 1992-04-29
  3 | 1993-11-09
  4 | 1995-05-16
  5 | 1996-06-21
  6 | 1997-12-01
  7 | 1998-01-19
  8 | 1998-11-06
  9 | 1999-03-04
 10 | 2002-08-25
 11 | 2002-11-24
 12 | 2002-09-07
 13 | 2003-08-17
 14 | 2005-05-18
 15 | 2007-05-27
 16 | 2008-01-06
 17 | 2009-07-14
 18 | 2009-08-22
 19 | 2009-04-02
 20 | 2010-01-27
(20 Zeilen)

und suchst:

Code:
test=*# select extract(year from geb_date), sum(case when extract(year from geb_date) between 2000 and 2019 then 1 else 0 end) as "2000_2019", sum(case when extract(year from geb_date) between 1990 and 1999 then 1 else 0 end) as "1990_1999"  from leute group by 1 order by 1;
 date_part | 2000_2019 | 1990_1999
-----------+-----------+-----------
  1991 |  0 |  1
  1992 |  0 |  1
  1993 |  0 |  1
  1995 |  0 |  1
  1996 |  0 |  1
  1997 |  0 |  1
  1998 |  0 |  2
  1999 |  0 |  1
  2002 |  3 |  0
  2003 |  1 |  0
  2005 |  1 |  0
  2007 |  1 |  0
  2008 |  1 |  0
  2009 |  3 |  0
  2010 |  1 |  0
(15 Zeilen)

so in etwa, oder?
 
Werbung:
Danke dir klasse. Diesen Support habe ich mir erhofft.
Du hast es mit IIF Funktionen und SUM gelöst und definitiv ein upgrad zu meinem. Ich hab noch die Formel für die Berechnung des Alters im Select Teil ansonsten sortiert es ja automatisch aufwärts. Überleg nur ob man das schöner anzeigen lassen kann.
 
Zurück
Oben