Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tìm tối thiểu và tối đa cho các tập con của các hàng liên tiếp - khoảng trống và đảo

Bạn muốn tìm các nhóm liên tiếp của các hàng tương tự và sau đó tổng hợp. Tôi thích sự khác biệt của cách tiếp cận số hàng:

select name, act, min(startt) as startt, max(endd) as endd
from (select i.*,
             row_number() over (partition by name, act order by rn) as seqnum_na,
             row_number() over (partition by name order by rn) as seqnum_n
      from input i
     ) i
group by (seqnum_n - seqnum_na), name, act;

Bạn có thể thấy cách này hoạt động bằng cách xem truy vấn con hoạt động như thế nào.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách liệt kê tất cả các gói SSIS trên Sql Server 2008 bằng T-SQL

  2. Tính tổng số đang chạy trong SQL Server

  3. Làm cách nào để bạn nhập một tệp MS SQL .sql lớn?

  4. Cách tính giá trị trung bình động trong n giờ qua

  5. Truy xuất hàng tỷ hàng từ máy chủ từ xa?