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

Изчисляване на общото време на място с SQL Server datetime

Това, което трябва да направите, е да изчислите разликата в датата между местоположенията, където юридическото лице е прекарало време, както е показано по-долу

SELECT
*
FROM MyTable

Резултатни стойности

Starttime               Endtime                 LocationID  EntityID
2014-09-23 14:07:43     2014-09-23 16:07:43     2           2
2014-09-23 14:09:03     2014-09-23 20:09:03     3           2
2014-09-23 14:09:51     2014-09-23 21:09:51     8           2
2014-09-23 14:15:10     2014-09-23 21:15:10     8           3
2014-09-23 14:15:16     2014-09-23 17:15:16     8           3
2014-09-23 14:15:23     2014-09-23 22:15:23     4           3
2014-09-23 14:15:32     2014-09-23 15:15:32     5           3
2014-09-23 14:06:26     2014-09-23 14:06:26     1           2

Използвайте заявката по-долу, за да получите желания резултат

SELECT
    DATEDIFF(MINUTE, MIN(Starttime), MAX(Endtime)) TotalTimeSpentInMinutes,
    LocationID
FROM MyTable
WHERE EntityID = 2
GROUP BY LocationID

Резултатните стойности биха били

TotalTimeSpentInMinutes LocationID
0                       1
120                     2
360                     3
420                     8


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Опитът за съхраняване на XML съдържание в SQL Server 2005 е неуспешен (проблем с кодирането)

  2. Извлечете>901 реда от SQL Server 2008 свързан сървър към Active Directory

  3. В Sql Server как да завъртите за няколко колони

  4. Запитване на Active Directory от Sql Server 2008

  5. Каква е разликата между TEMPORARY TABLE и TABLE VARIABLE в SQL 2008?