PDA

View Full Version : SQL-Abfrage mit mehreren count(*)



malzusrex
15-07-05, 10:47
Hallo liebes Forum.

Ich bin mir sicher das Ihr mir weiter helfen könnt:

ich habe ein File mit 3 Feldern KUNDE GRUPPE WERT
ich möchte nun für einen kunden zusammengefasst nach gruppen, die anzahl der sätze die in einem bestimmten wertebereich liegen.
für einen wertebereich ist mir die sache klar


Select GRUPPE, Count(*)
from MyFile
where KUNDE = 100
and WERT between 1 and 10
group by GRUPPE
order by GRUPPE


nun will ich aber auch die bereiche 11-20, 21-30, ... haben
derzeit mache ich dafür jeweils das genannte sql nur halt für den ehtsprechenden wertebereich.
gibt es eine möglichkeit, das ich neben der gruppe die spalten für 1-10, 11-20,... bringen kann ??

ich hoffe ich habe mich verständlich ausgedrückt
danke schon mal
ronald

ps: hat noch einer nen link zu einem sql-handbuch?

BenderD
15-07-05, 11:41
Hallo,

wie wärs mit:
Select GRUPPE, Count(*)
from MyFile
where KUNDE = 100
group by GRUPPE, integer((wert + 1)/10)
btw: group by impliziert die erforderliche Sortierung.
wenn mit SQL Handbuch SQL Reference gemeint ist, die müsste doch auf
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/index.htm
zu finden sein (ich habe das Teil lokal)
ansonsten gibt es auch noch ein paar SQL Ressourcen über Hernn Google.

mfg

Dieter Bender



Select GRUPPE, Count(*)
from MyFile
where KUNDE = 100
and WERT between 1 and 10
group by GRUPPE
order by GRUPPE
ps: hat noch einer nen link zu einem sql-handbuch?

malzusrex
15-07-05, 11:48
hmm, die bereiche 1-10, 1-20 waren jetzt nur als beispiel! im waren leben sind die so : 1-5, 6-10, 11-25, 26-50, 50-75, 76 -150,>150

B.Hauser
15-07-05, 12:20
Wie wäre es mit folgenem Beispiel:



with x as (select
cast(case when wert between 1 and 4 then 1
when wert between 5 and 7 then 2
when wert between 8 and 15 then 3
else 4 end as integer) as Bereich,
a.*
from myfile a)
select bereich, gruppe, count(*)
from x
group by bereich, gruppe

malzusrex
15-07-05, 12:28
Danke!!!!

Funst Super !


Gruß Ronald

loeweadolf
15-07-05, 13:16
Wie wäre es mit folgenem Beispiel:



with x as (select
cast(case when wert between 1 and 4 then 1
when wert between 5 and 7 then 2
when wert between 8 and 15 then 3
else 4 end as integer) as Bereich,
a.*
from myfile a)
select bereich, gruppe, count(*)
from x
group by bereich, gruppe


Hallo Birgitta,

was ist gemeint mit PHP .

Ich kenne PHP als Begriff für eine Programmiersprache speziell für dynamische WebSits.

Hat PHP was mit SQL zu tun ?

mfg. Ludger (unwissend)

B.Hauser
15-07-05, 13:22
Hallo Ludger,

wenn Du "PHP Code" vor dem Beispiel meinst, dann hat das nichts mit SQL zu tun, sondern das wird automatisch generiert, wenn man das kleine Buttot php anklickt, um darin seine Quelle zu hinterlegen. (Sieht schöner aus, wie wenn man sie direkt als Text erfaßt. Vor allem werden die Blanks dann nicht "verwutzt")

Vielmehr kann ich Dir dazu ansonsten auch nicht sagen.

Birgitta

loeweadolf
15-07-05, 13:28
aha, danke für die Info