"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo recuperar la última fecha de inicio de sesión para cada usuario en SQL?

¿Cómo recuperar la última fecha de inicio de sesión para cada usuario en SQL?

Publicado el 2025-02-06
Navegar:191

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

consulta SQL para la última fecha de registro de inicio de sesión para cada usuario

pregunta:

Suponga que la tabla de la base de datos contiene información de inicio de sesión del usuario, ¿cómo recuperamos la última fecha de inicio de sesión para cada usuario? Teniendo en cuenta que puede haber fechas de inicio de sesión duplicadas.

Solución:

Hay dos formas comunes de resolver este problema:

Método 1: Subquery usando unión interna

Este método usa una subconsulta para identificar la última fecha de inicio de sesión para cada usuario y luego se usa para filtrar la tabla principal:

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

Método 2: función de ventana

]

Para bases de datos que admiten funciones de ventana, se puede usar un método más eficiente:

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

Este método utiliza la clasificación de números de fila en datos de partición, donde se le asigna a la última fecha de cada usuario un nivel 1.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3