Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać czas pierwszego logowania i ostatniego wylogowania z serwera 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć z bazy danych datę i godzinę, która może mieć wartość null

  2. Przechowywana procedura parsowania ciągu

  3. Warunkowa widoczność i podziały stron dzięki usługom raportowania SQL Server 2005

  4. Instrukcja SQL try-catch nie obsługuje błędu (SQL Server 2008)

  5. Wypisz ciąg znaków w SQL Server, aby można go było bezpiecznie używać w wyrażeniu LIKE