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

Výpočet celkového času v místě pomocí SQL Server datetime

Co musíte udělat, je vypočítat rozdíl v datech mezi místy, kde entita strávila čas, jak je uvedeno níže

SELECT
*
FROM MyTable

Hodnoty výsledků

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

Použijte níže uvedený dotaz k získání požadovaného výsledku

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

Výsledné hodnoty by byly

TotalTimeSpentInMinutes LocationID
0                       1
120                     2
360                     3
420                     8


  1. Nakonfigurujte mybatis pro použití existujícího připojení

  2. mysql týden od pondělí do neděle

  3. návratový průměr počtu záznamů po skupině po příkazu

  4. Příkaz EXECUTE...INTO...USING v PL/pgSQL nelze provést do záznamu?