SQL-Problem

27/02/2009 - 10:07 von Berni210 | Report spam
Moin,

brauche in einer View die Anzahl von xxx (z. B. Kunden) die binnen der
letzten zwei Jahre eingetragen waren - das ist ja noch easy:

select count(*) as newCustomer from kunden where kunden.entry < 01.03.2009
and kunden.entry >= 01.02.2007

Nun brauche ich dies aber auch historisch - z. B. auch kunden.entry <
01.02.2009 and kunden.entry >= 01.01.2007.

Die View sollte also so aussehen

Jahr Monat newCustomer
2009 3 93
2009 2 88
2009 1 91

Hoffe ich konnte mich halbwegs verstàndlich ausdrücken.

Ich gehe davon aus, daß dies per SQL mögich ist nur komme ich partout nicht
auf den richtigen Ansatz..

Gruß

Bernd
 

Lesen sie die antworten

#1 GumbleManja
27/02/2009 - 11:52 | Warnen spam
"Berni210" wrote:

Moin,

brauche in einer View die Anzahl von xxx (z. B. Kunden) die binnen der
letzten zwei Jahre eingetragen waren - das ist ja noch easy:

select count(*) as newCustomer from kunden where kunden.entry < 01.03.2009
and kunden.entry >= 01.02.2007

Nun brauche ich dies aber auch historisch - z. B. auch kunden.entry <
01.02.2009 and kunden.entry >= 01.01.2007.

Die View sollte also so aussehen

Jahr Monat newCustomer
2009 3 93
2009 2 88
2009 1 91

Hoffe ich konnte mich halbwegs verstàndlich ausdrücken.

Ich gehe davon aus, daß dies per SQL mögich ist nur komme ich partout nicht
auf den richtigen Ansatz..

Gruß

Bernd



Hi Bernd,
das Schlüsselwort heist gruppieren

SELECT COUNT(*), TO_CHAR(kunden.entry,'YY') FROM KUNDEN GROUP BY
TO_CHAR(kunden.entry,'YY')

Mit TO_CHAR extrahierst du das Jahr aus dem Zeitstempel. TO_CHAR gibts bei
ORACLE. Ich geh mal davon aus das dass ANSI-SQL ist..
Gruß Peter

Ähnliche fragen