webForumDet fria alternativet

Problem med Count och Group by

2 svar · 314 visningar · startad av Fireh

FirehMedlem sedan jan. 2003173 inlägg
#1

Nu ger jag upp :(

I tabellen Tdata finns en massa poster som visar vilka olika grupper olika användare är med i. En användare kan vara med i flera grupper. Jag vill räkna antalet unika användare där Ok = Ok i Tdata. Dvs om någon är med i två grupper, så ska han bara räknas en gång.

Det går bra att göra en vanlig recordset som exemplet nedan:

SET rs=db.Execute("SELECT * FROM Tdata WHERE Ok='Ok' GROUP BY UserID")

Men om jag ska göra en count, så får jag bara värdet 1. Koden jag då kör är denna:

SET rs=db.Execute("SELECT Count(*) AS Antal FROM Tdata WHERE Ok='Ok' GROUP BY UserID")

Tar jag bort "GROUP BY UserID" så fungerar den (blir 374), men då räknar den antalet gånger som Ok=Ok, dvs två gånger om en användare är med i två grupper.

Så hur gör jag för att de bara ska räknas en gång?

BrimbaMedlem sedan dec. 19992 966 inlägg
#2
select count(distinct userID) from Tdata where ok='ok'
FirehMedlem sedan jan. 2003173 inlägg
#3

Tack så hemskt mycket!

Genererad på 510 ms · cache AV · v20260730165559-full.f96bc7eb