webForumDet fria alternativet

COUNT ... GROUP BY (Antal ... av totalt ...)

3 svar · 578 visningar · startad av ifransson

ifranssonMedlem sedan jan. 20082 inlägg
#1

Jag kör med en äldre MySQL (3.23.58) som ej har stöd för vyer etc.
Det borde ändå finnas något (enkelt) sätt att räkna ut "antal Ok av totalt" mha GROUP BY!?
T ex från följande indata:

Datum      Namn  Resultat
-------------------------
2007-01-01 Kalle Ok
2007-01-01 Pelle Ok
2007-01-03 Kalle Fel
2007-01-03 Pelle Ok
2007-02-01 Kalle Ok

-> Så önskas följande:

Namn   Ok  Totalt
-----------------
Kalle  2   3
Pelle  2   2
LarsGMedlem sedan dec. 200012 464 inlägg
#2
select namn, sum(if(Resultat='Ok',1,0)) as Ok,count(*) as Totalt
   from t
  group by namn
ifranssonMedlem sedan jan. 20082 inlägg
#3

Tack, för ett super-snabbt svar och som fungerar perfekt!

(Kan man räkna om det i procent oxå? ;D )

oskarsMedlem sedan nov. 20051 317 inlägg
#4

Om du har 223st OK av 899st totalt blir det ju så här:

223 / 899 = 0,248 * 100 = 24,8%

Så av 899st är 24,8% "OK"!

:) Om det nu var det du undrade...

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