Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да получите време за първо влизане и последно излизане от 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. Объркан относно реда за обработка на логическите заявки на Ицик Бен-Ган в неговата книга за SQL Server 2005 и книгата за SQL Server 2008

  2. SQL попълва общия брой работни дни на месец минус банковите празници за текущата финансова година

  3. Как да разделите стойностите на една колона на стойности на няколко колони?

  4. Неизползван индекс на SQL Server

  5. Премахване и повторно създаване на ограничения в SQL Server