Пожалуйста, помогите мне подсчитать количество строк, возвращенных моим запросом, в которых указывается число сотрудников, работающих в течение определенного месяца.Count DISTINCT Сотрудники
У меня есть общее количество часов, режим & Имя сотрудника, но как я могу вернуть точное число сотрудников, работающих в течение месяца?
Count(DISTINCT LD.Employee)
Показывает, что каждый сотрудник встречается один раз, но как добавить 1, чтобы получить 52 в качестве моего окончательного ответа?
SELECT LD.Period, LD.EmOrg, LD.EmType, LD.Employee,
Sum(LD.RegHrs) AS 'Total Hours', Count(LD.RegHrs) AS 'Mode',
Count(DISTINCT LD.Employee) AS 'Counted Employees'
FROM SSI.dbo.LD LD
GROUP BY LD.Employee, LD.Period, LD.EmOrg, LD.EmType
HAVING (LD.EmOrg Like '%T00') AND (LD.EmType='S')
данных:
Period EmOrg EmType Total Hours Mode Employee Counted Employees
201306 RSA/PZB/T00 S 180 66 GOVINP1 1
201306 RSA/PZB/T00 S 200 35 LANDCJ1 1
201306 RSA/PZB/T00 S 180 34 WOODRE 1
201306 RSA/JNB/T00 S 160 33 MOKOHM1 1
201306 RSA/PLZ/T00 S 160 32 KAPPPJ 1
201306 RSA/PZB/T00 S 187 31 CAHISJ 1
201306 RSA/PZB/T00 S 180 31 ZEMUN 1
201306 RSA/PZB/T00 S 190 28 SAULDD1 1
201306 RSA/DUR/T00 S 188 26 JEROP1 1
201306 RSA/PZB/T00 S 204 24 NGOBS1 1
201306 RSA/PZB/T00 S 201 23 DLAMMP 1
201306 RSA/PZB/T00 S 192 23 ZONDNS2 1
201306 RSA/PLZ/T00 S 160 22 MPHURK 1
201306 RSA/PZB/T00 S 186 21 DUBESE1 1
201306 RSA/PZB/T00 S 187 21 MABAMS 1
201306 RSA/PZB/T00 S 189 21 MBELBV 1
201306 RSA/PZB/T00 S 188 21 MNDAMB 1
201306 RSA/PZB/T00 S 186 21 ZONDIPB1 1
201306 RSA/JNB/T00 S 180 20 BOKAML 1
201306 RSA/PTA/T00 S 180 20 DAVEJA 1
201306 RSA/PZB/T00 S 180 20 DLAMVK 1
201306 RSA/JNB/T00 S 163.5 20 ERLAME 1
201306 RSA/PZB/T00 S 180 20 HLONLA 1
201306 RSA/CPT/T00 S 179 20 HOUGHJ 1
201306 RSA/PZB/T00 S 180 20 KAFFS 1
201306 RSA/PTA/T00 S 180 20 KEYTDJ 1
201306 RSA/JNB/T00 S 180 20 KHATEK 1
201306 RSA/DUR/T00 S 180 20 KHUZB1 1
201306 RSA/PTA/T00 S 180 20 LEHLTJ 1
201306 RSA/JNB/T00 S 180 20 LETSMM2 1
201306 RSA/PTA/T00 S 170 20 MAKGMJ 1
201306 RSA/BDV/T00 S 160 20 MALEVT1 1
201306 RSA/JNB/T00 S 180 20 MAPHV1 1
201306 RSA/JNB/T00 S 180 20 MNGOTX 1
201306 RSA/PZB/T00 S 180 20 MTHETN1 1
201306 RSA/BDV/T00 S 180 20 MULAG1 1
201306 RSA/DUR/T00 S 180 20 NDLOCT1 1
201306 RSA/PZB/T00 S 180 20 NDLOS 1
201306 RSA/BFN/T00 S 180 20 NELL 1
201306 RSA/PLZ/T00 S 180 20 OOSTLC 1
201306 RSA/CPT/T00 S 180 20 PAULDMR 1
201306 RSA/PZB/T00 S 180 20 PHIRSN1 1
201306 RSA/PZB/T00 S 180 20 RAMBD1 1
201306 RSA/PZB/T00 S 180 20 SANLLJ 1
201306 RSA/PZB/T00 S 180 20 SMITEP3 1
201306 RSA/CPT/T00 S 180 20 SOCEGR 1
201306 RSA/PZB/T00 S 180 20 SOKOV 1
201306 RSA/CPT/T00 S 180 20 TSHIJC 1
Пожалуйста, отредактируйте и разместите свой пост, чтобы быть немного более «удобоваримым». – cubitouch
'SELECT COUNT (LD.Employee)' должно дать вам общее количество записей в таблице, 'SELECT COUNT (DISTINCT LD.Employee)' даст вам количество сотрудников DISTINCT, которые многие люди, независимо от того, сколько сдвигов они работал. Если вы не хотите, чтобы любой из этих номеров мог уточнить ваш вопрос. Кажется, в вашем наборе данных 48 записей, откуда берутся 52? –