Gruppierung

18/09/2007 - 11:10 von Hochmuth, Reiner | Report spam
Hallo NG,

ich habe folgendes Szenario:

Ich habe eine Tabelle mit Produkten und darin steht wie lange die Produkte
durchschnittlich brauchen bis sie aus dem Regal kommen und das gruppiere ich
dann.
Die Abfrage dafür schaut ungefàhr so aus:

select standtage, count(id) anzahl from products group by standtage

jetzt möchte ich das aber in verschiedene Bereiche gruppieren, so das mein
Ergebnis so aussieht:

Standtage Stück
0 -30 10
31- 40 5
usw.

Habt ihr eine Idee wie ich das in eine Abfrage verpacke?

Momentan mache ich es für jeden Bereich eine Extra abfrage, was aber etwas
unflexibel ist.

Vielen Dank für eure Hilfe.

Gruss
Reiner
 

Lesen sie die antworten

#1 Frank Kalis
18/09/2007 - 12:34 | Warnen spam
"Hochmuth, Reiner" wrote:

ich habe folgendes Szenario:

Ich habe eine Tabelle mit Produkten und darin steht wie lange die Produkte
durchschnittlich brauchen bis sie aus dem Regal kommen und das gruppiere ich
dann.
Die Abfrage dafür schaut ungefàhr so aus:

select standtage, count(id) anzahl from products group by standtage

jetzt möchte ich das aber in verschiedene Bereiche gruppieren, so das mein
Ergebnis so aussieht:

Standtage Stück
0 -30 10
31- 40 5
usw.

Habt ihr eine Idee wie ich das in eine Abfrage verpacke?

Momentan mache ich es für jeden Bereich eine Extra abfrage, was aber etwas
unflexibel ist.




So etwa?

select
sum( standtage) Standtage, sum(anzahl) Stück from products
group by
case
when standtage >= 0 AND standtage <= 30 then 1
when standtage > 30 AND standtage <= 40 then 2
else 0
end
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.de

Ähnliche fragen