Получите минимальное значение для каждого человека - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь получить дату первого запроса от каждого сотрудника.Чтобы получить первый, я пытаюсь использовать MIN, потому что он даст мне первое свидание.

Моя проблема в том, что я получаю ошибку "не для одной группы" на моем SELECT заявление.Я уверен, что это связано с MIN, но я возился с этим и, кажется, не могу понять это.

SELECT empid, firstname, lastname, MIN(request_date) AS first_request_date
FROM employee e
JOIN requests r ON e.empid = r.requester_id
ORDER BY first_request_date;

Ответы [ 2 ]

1 голос
/ 03 апреля 2019

Использовать Group by для функции агрегирования.

SELECT empid,
       firstname,
       lastname,
       Min(request_date) AS first_request_date
FROM   employee e
       JOIN requests r
         ON e.empid = r.requester_id
GROUP  BY empid,
          firstname,
          lastname
ORDER  BY first_request_date  
1 голос
/ 03 апреля 2019

Чтобы иметь возможность использовать агрегатную функцию, такую ​​как MIN(), вам нужно выражение GROUP BY:

SELECT empid, firstname, lastname, MIN(r.request_date) AS first_request_date
FROM employee e
JOIN requests r ON e.empid = r.requester_id
GROUP BY e.empid, e.firstname, e.lastname
ORDER BY first_request_date;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...