Поиск наименее используемого сотрудника 2017

Raymundo Lopez спросил: 28 марта 2018 в 04:46 в: mysql

У меня есть таблица вроде этого: Service_Done

Employee_ID  Grooming_ID     Date_Serviced:                                                               
1               3                  1/23/2016                                                  
2               4                  04/4/2017
3               3                 07/24/2017

Мой код выглядит следующим образом:

 SELECT Employee_ID
FROM Service_Done
WHERE Employee_ID = (SELECT Grooming_ID, Count(Employee_ID) FROM Service_Done 
AND year(Date_Serviced) = 2017;

Я запускаю этот код и он не работает. Любое предложение?

2 ответа

P.Salmon ответил: 28 марта 2018 в 05:00
DROP TABLE IF EXISTS T;
CREATE TABLE T (Employee_ID  INT, Grooming_ID INT,    Date_Serviced DATE);
INSERT INTO T VALUES                                                               
(1        ,       3     ,   '2016-01-23'),                                                      
(2        ,       4     ,   '2017-04-04'),     
(3        ,       3     ,   '2017-07-24'),
(3        ,       3     ,   '2017-07-24'),
(3        ,       3     ,   '2017-07-24'),
(4        ,       3     ,   '2017-07-24')
;SELECT Employee_ID #,COUNT(*) SERVICES
FROM T
WHERE  year(Date_Serviced) = 2017
GROUP BY EMPLOYEE_ID 
ORDER BY COUNT(*)  LIMIT 1;+-------------+
| Employee_ID |
+-------------+
|           2 |
+-------------+
1 row in set (0.00 sec)

Возвращенный employee_id является неопределенным в случае ничьей.

Anil Kumar ответил: 28 марта 2018 в 05:13

SELECT Employee_IDFROM Service_DoneWHERE Employee_ID в (SELECT Grooming_ID FROM Service_Done) И год (Date_Serviced) = 2017;

binDebug ответил: 28 марта 2018 в 05:26
Как это точно соответствует требованию найти сотрудника, который оказал меньше услуг? Это просто соответствует идентификатору жениха и идентификатору сотрудника. Как они такие же?
Anil Kumar ответил: 28 марта 2018 в 05:27
Можете ли вы объяснить, что именно является требованием