«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как получить последнюю дату входа для каждого пользователя в SQL?

Как получить последнюю дату входа для каждого пользователя в SQL?

Опубликовано в 2025-02-06
Просматривать:839

How to Retrieve the Latest Login Date for Each User in SQL?

SQL запрос для последней даты записи входа для каждого пользователя

]

вопрос:

Предположим, что таблица базы данных содержит информацию о входе в систему, как мы получаем последнюю дату входа для каждого пользователя? Учитывая, что могут быть дублирующие даты входа в систему.

]

Решение:

есть два общих способа решить эту проблему:

]

Метод 1: Подпрограмма Использование Inner Join

]

В этом методе используется подпрограмма для определения даты последней входа для каждого пользователя, а затем используется для фильтрации основной таблицы:

]
select t.username, t.date, t.value
from MyTable t
inner join (
    select username, max(date) as MaxDate
    from MyTable
    group by username
) tm on t.username = tm.username and t.date = tm.MaxDate
]

Метод 2: функция Window

]]

для баз данных, которые поддерживают функции окна, можно использовать более эффективный метод:

select x.username, x.date, x.value 
from (
    select username, date, value,
        row_number() over (partition by username order by date desc) as _rn
    from MyTable 
) x
where x._rn = 1
]

В этом методе используются номера строк, сортирующие в данных разделения, где последней дате каждого пользователя назначается уровень 1.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3