В настоящее время я выполняю левое соединение на двух таблицах. Первая таблица имеет идентификатор и имя человека, вторая таблица имеет идентификатор, идентификатор человека из таблицы 1, а затем временную метку (полета).Возврат 1 результат с левой стороны
People Flights
id | name id | person_id | time
------------ ---------------------------
1 Dave 1 1 1284762115
2 Becky 2 1 1284787352
3 2 1284772629
4 2 1286432934
5 1 1283239480
Когда я выполняю мой левый присоединиться, я получаю список людей и их время полета, но то, что я хотел бы просто список людей, с временем полета с самым высоким ID
Я использую
SELECT p.id, p.name max(f.time)
FROM People p
LEFT JOIN Flights f ON p.id = f.person_id
GROUP BY p.id, p.name
Однако, это только дает мне пОСЛЕДНЕЕ время полета, а не в последний раз полета закачанный в систему (то есть, самая высокая ID).
1 Dave 1284787352
2 Becky 1286432934
Так повторить, я хотел бы видеть имя человека, наряду с полетного времени их последнего Загрузил (самый высокий ID) время полета.
1 Dave 1283239480
2 Becky 1286432934
Может быть, я так устал, но вы не можете выбрать 'макс (f.id)' вместо 'макс (f.time)'? – Patrick
Нет, к сожалению, это не работает. –
Тогда я устал. :-) – Patrick