Проблема с датой sql - отображение только одной строки - PullRequest
0 голосов
/ 19 февраля 2020

у меня go таблица с employee_id, school_end (date), school_name и у некоторых сотрудников есть несколько названий школ с датами.

я хочу видеть в запросе только самую последнюю школу и дату для один employee_id

Заранее спасибо

1 Ответ

1 голос
/ 19 февраля 2020

Я хочу видеть в запросе только последнюю школу и дату для одного employee_id

Одним из решений для нескольких баз данных этого топ-1 на группу является фильтрация с коррелированный подзапрос:

select t.*
from mytable t
where t.school_end = (
    select max(t1.school_end) from mytable t1 where t1.employee_id = t.employee_id
)

Для производительности вам нужен индекс на (employee_id, school_end).

В зависимости от вашей базы данных могут быть доступны более эффективные параметры (например, Postgres имеет distinct on синтаксис).

...