webForumDet fria alternativet

COUNT returnerar fel antal

6 svar · 963 visningar · startad av Pedda

PeddaMedlem sedan juni 20006 032 inlägg
#1

Får fel på "AntalError".
Frågan returnerar totala antalet, dvs antalet ERROR och OK.

Hur ska man skriva?

SELECT Leverantor
      ,COUNT(CASE WHEN EAW_Typ = 'ERROR' THEN 1 ELSE 0 END) AS AntalError
      ,COUNT(DISTINCT RitNr + CAST(Datum AS	VARCHAR(19))) AS AntalRitningar
      ,COUNT(Leverantor) AS AntalLeverantorer
      ,Epost
	FROM EAW
	WHERE (EAW_Typ = 'ERROR' OR EAW_Typ = 'OK')
		AND Datum BETWEEN @StartDate AND @EndDate 
	GROUP BY Leverantor, Epost
PeddaMedlem sedan juni 20006 032 inlägg
#2

Så dumt enkelt det var.
Ändrade ELSE 0 till ELSE null, och då räknar den rätt

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Eller:

SUM(CASE WHEN EAW_Typ = 'ERROR' THEN 1 ELSE 0 END)

Det kanske var så du tänkte från början. ;)

PeddaMedlem sedan juni 20006 032 inlägg
#4

nitro2k01 skrev:

Eller:

SUM(CASE WHEN EAW_Typ = 'ERROR' THEN 1 ELSE 0 END)

Det kanske var så du tänkte från början. ;)

Möjligt att det var så jag tänkte, efter 14 timmars arbetsdag var man ganska seg i hjärnan. :x

@ndersMedlem sedan juni 200032 969 inlägg
#5

Så seg så du glömde "Markera som lösning"? ;)

PeddaMedlem sedan juni 20006 032 inlägg
#6

Nej, tänkte faktiskt inte göra det men länken "Markera som lösning" fanns inte då av någon anledning.
Men nu gick det ju.

@ndersMedlem sedan juni 200032 969 inlägg
#7

Den länken finns bara när man laddat sidan "på riktigt", dvs inte när man postat in ett snabbsvar i DOM:en.

122 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)