Avatar billede pluth Nybegynder
09. december 2010 - 07:49 Der er 1 kommentar og
1 løsning

MSSQL fordeling i perioder

Jeg har nedenstående kode, som jeg ikke kan få til at gøre 100% som jeg vil. Jeg har nogle andre typer "type" end indbetalinger, men jeg har også nogle som blot er null. Dem som er null, ønsker jeg altid er sidst i udtrækket, så de står i de sidste "grupper". Der skal vel ændres i  OVER(ORDER BY create) AS Gruppe, men jeg kan ikke se hvordan jeg kan få det til at ske, da det kun gælder dem hvor type is null

Nogen som kan hjælpe ?

WITH CTE AS (SELECT *, NTILE(14) OVER(ORDER BY create) AS Gruppe FROM indbetalinger), CTE2 AS (SELECT Gruppe, COUNT(*) AS TotalAntal, (SELECT COUNT(*) FROM cte t2 WHERE t1.Gruppe = t2.Gruppe and (type = 'Indbetalinger'))*100 as antal
FROM cte t1 GROUP BY Gruppe) SELECT SUBSTRING((SELECT ',' + CAST(antal AS VARCHAR(10)) FROM cte2 FOR XML PATH('')),2,20000) AS indbetalinger
Avatar billede pluth Nybegynder
09. december 2010 - 11:50 #1
Man kunne også sige at hvis type is null, så ret create til x - Jeg ved ikke om man kan gøre det, men det kunne ihvertfald være en mulighed hvis nogen kender til en funktion som kan det?
Avatar billede pluth Nybegynder
09. december 2010 - 16:55 #2
Fandt en anden løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester