Помогите в SQL получить при join только максимальную дату из таблицы
Помогите, пожалуйста, как можно приджоинить к таблице User таблицу UserLoginHistory так чтобы получить из нее страну по самой новой записи этого пользователя. MySQL
User:
| id | username | |
|---|---|---|
| 1 | mailmail | Ivan |
| 2 | mail2mail | Irina |
| 3 | mail3mail | Pavel |
UserLoginHistory:
| id | country | datatime | userId |
|---|---|---|---|
| 1 | RU | 2020-03-01 15:36:44 | 1 |
| 2 | DE | 2022-03-01 15:36:44 | 1 |
| 3 | EN | 2019-03-01 15:36:44 | 2 |
Ожидаемый результат:
| userId | lastLoginCountry | |
|---|---|---|
| 1 | DE | mailmail |
| 2 | EN | mail2mail |
Пробую через PARTITION но что то работает не так, так как на MIN() или MAX() не реагирует.
SELECT u.id,
ulh.datatime,
MIN(ulh.country) over(PARTITION BY ulh.createdAt) as country FROM User u
LEFT JOIN UserLoginHistory ulh ON u.id = ulh.playerId GROUP BY u.id