У меня есть таблица с несколькими столбцами, среди которых есть два - number
, joining_date
.
Я хочу выбрать самую новую дату присоединения и соответствующий номер. Я создал следующий сценарий:
SELECT ac.number, ac.joining_date
FROM accounts ac
INNER JOIN (
SELECT number, MAX(joining_date) as maxDate FROM accounts GROUP BY number
) iac ON ac.number = iac.number AND ac.joining_date = iac.maxDate;
Кажется, что все в порядке, однако я заметил, что, когда joining_date
равно, т.е. 2020-04-02 10:17:00.000000
для более чем одной записи, number
появляется дважды в результат, даже если MAX
должен возвращать только одну строку.
Вопрос : как получить только один number
с помощью новейшего joining_date
? DISTINCT
это гарантирует?