sql >> Databáze >  >> RDS >> Sqlserver

Jak získat čas prvního přihlášení a posledního odhlášení ze serveru SQL?

;WITH LoginCTE AS
(
    SELECT ID,
           Date,
           MIN(Time) AS MinLogin
    FROM   Table
    WHERE  Type = 'In'
    GROUP BY ID,
             Date
),LogoutCTE AS
(
    SELECT ID,
           Date,
           MAX(Time) AS MaxLogout
    FROM   Table
    WHERE  Type = 'Out'
    GROUP BY ID,
             Date
)
SELECT T.ID,
       T.Name,
       T.Date,
       MinLogin,
       MaxLogout
FROM   Table T
       JOIN LoginCTE I
           ON T.ID = I.ID
              T.Date = I.Date 
       JOIN LogoutCTE O
           ON T.ID = O.ID
              T.Date = O.Date 


  1. Jak vypočítat retenci měsíc po měsíci pomocí SQL

  2. Maze ladění výkonu

  3. Složitost NULL – Část 4, Chybějící standardní jedinečné omezení

  4. Textový sloupec neukládá více než 8000 znaků