21. september 2007 - 14:13
Der er
4 kommentarer og
1 løsning
Count distinct med alternativ gruppering til debitorstatistik
En udfordring:
Jeg har en query (DebPst) med enkelte posteringer vedr. debitorer [kd] med angivelse af forfaldskategori [ffkat].
ID, kd, beløb, ffkat
1,1,100,1
2,1,200,1
3,1,200,2
4,2,200,2
Fra denne har jeg en anden query med sum pr. forfaldskategori.
ffkat, sum([beløb])
group by ffkat
ffkat,sumofbeløb
1, 300
2, 200
Her vil jeg også gerne have angivet antal af distinkte debitorer [kd].
ffkat, sumofbeløb, AntalDistkd
1, 300, 1
2, 200, 2
Og det er her I kommer ind i billedet, for det har jeg fået stirret mig blind på.
Jeg har prøvet at lege med select distinct og nestede selects, men kan ikke få det til at gå op.
Jeg ville foretrække en løsning i sql, men den må ikke blive for langsom (70k records). Alternativt en løsning, der virker i VB.
pft.
Balder
Slettet bruger
21. september 2007 - 14:45
#1
Foresporgsel1:
SELECT NavnPaaTabel.kd, Sum(NavnPaaTabel.Beløb) AS SumOfBeløb, NavnPaaTabel.ffkat
FROM NavnPaaTabel
GROUP BY NavnPaaTabel.kd, NavnPaaTabel.ffkat;
Foresporgsel2:
SELECT Foresporgsel1.kd, Sum(Foresporgsel1.SumOfBeløb) AS Beløb, Count(Foresporgsel1.ffkat) AS CountOfffkat
FROM Foresporgsel1
GROUP BY Foresporgsel1.kd;
!~)
21. september 2007 - 15:13
#2
En præcisering:
Jeg fik vist ikke skrevet det, men jeg leder lidt efter en løsning i eet statement (bl.a. af hensyn til overskuelighed i projektet).
Det ovenstående ser ellers fint nok ud, bortset fra at den summerer på ffkat og ikke kd, men det kan vi nok godt finde ud af :)
Slettet bruger
21. september 2007 - 15:31
#3
Nåh ja....
SELECT Foresporgsel1.ffkat, Sum(Foresporgsel1.SumOfBeløb) AS Beløb, Count(Foresporgsel1.kd) AS CountOfkd
FROM Foresporgsel1
GROUP BY Foresporgsel1.ffkat;
Overskuelighed.. Hvis du nu giver de 2 forespørgsler navne som DistinktDeb1 og 2!~)