У меня есть таблица (sampleTable) дат доступа к веб-сайту в виде года-месяца-дня, временных меток в виде года-месяца-дня, часов-минут-секунд, идентификаторов пользователей и идентификаторов доступа к веб-сайту.Я хочу выбрать идентификаторы доступа, которые соответствуют первому доступу, произошедшему в самый последний день.До сих пор я пытался сделать это с
select userID, MAX(dayAccessed) as latestDay from sampleTable group by userID;
, который возвращает самый последний день.Затем я использовал это во внутреннем объединении, чтобы объединить этот запрос с исходной таблицей, которая правильно упорядочивает столбцы.Моя проблема в том, что я не могу получить доступ к самому раннему идентификатору доступа за самый последний день для обоих идентификаторов пользователей, так как
SELECT sampleTable.dayTimeAccessed, sampleTable.userID, latest.latestDay
FROM
(SELECT userID, MAX(dayTimeAccessed) AS latestDay
from sampleTable
group by userID) AS latest
INNER JOIN sampleTable
ON sampleTable.userID = latest.userID AND
sampleTable.dayTimeAccessed
limit 1;
возвращает только одно поле с первым идентифицированным идентификатором пользователя.