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

Cần trợ giúp để tìm Truy vấn T-SQL chính xác

;WITH cte AS
(
SELECT *,
        DATEDIFF(DAY,0,DateRequested)-
        ROW_NUMBER() OVER (PARTITION BY UserId ORDER BY DateRequested) AS Grp
FROM YourTable  
WHERE Approved = 1 /*Presumably - but your example data doesn't show this.*/
)
SELECT UserId, 
       MIN(DateRequested) AS DateFrom, 
       MAX(DateRequested) AS DateTo  
FROM cte 
GROUP BY UserId,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. Làm thế nào để tạo một bảng Chỉ đọc trong SQL Server?

  2. Tính toán số tháng đầy đủ giữa hai ngày trong SQL

  3. máy chủ sql chọn cột theo số

  4. Cách kiểm tra ổ khóa nào được giữ trên bàn

  5. Làm thế nào để nhóm theo tháng bằng SQL Server?