21. september 2007 - 14:13Der 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.
Opnå den bedste ydeevne med din computer, og overtag føringen i de nyeste spil uden at gå over budgettet.
30. oktober 2024
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;
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 :)
Synes godt om
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!~)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.