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

pengelompokan pada perubahan status

Anda dapat melakukan ini dengan metode nomor baris yang berbeda. Perbedaan row_number() -- dengan argumen tertentu -- mengidentifikasi kelompok. Sisanya hanya agregasi:

select status, min(time), max(time)
from (select t.*,
             (row_number() over (order by time) -
              row_number() over (partition by status order by time)
             ) as grp
      from mytable t
     ) t
group by status, grp;



  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 Dinamis vs Prosedur Tersimpan

  2. @@DATEFIRST – Dapatkan Hari Pertama Minggu ini di SQL Server

  3. Menggunakan Alias ​​​​di Mana Klausul atau Opsi Alternatif?

  4. CTE untuk mendapatkan semua anak (keturunan) dari orang tua

  5. Cara Menampilkan Tanggal dalam Format Inggris di SQL Server (T-SQL)