Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menghitung total waktu di suatu tempat dengan datetime SQL Server

Yang perlu Anda lakukan adalah menghitung perbedaan tanggal antara lokasi tempat entitas menghabiskan waktu, seperti di bawah ini

SELECT
*
FROM MyTable

Nilai Hasil

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

Gunakan kueri di bawah ini untuk mendapatkan hasil yang diinginkan

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

Nilai hasil akan menjadi

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. Bagaimana cara menghindari kesalahan pembagian dengan nol dalam SQL?

  2. tidak dapat menemukan kesalahan driver saat menggunakan PDO dengan server MSSQL

  3. Simpan jawaban dalam tabel sql dengan id unik dan simpan setiap jawaban dalam kolom

  4. Beberapa Database Vs Single Database dengan data yang dipartisi secara logis

  5. Cara mengelompokkan hubungan hierarkis bersama di SQL Server