Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Potrzebujesz pomocy w znalezieniu prawidłowego zapytania T-SQL

;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. Zapytanie SQL, aby znaleźć ostatni dzień bieżącego miesiąca?

  2. Jak mogę zaktualizować mój schemat bazy danych SQL Server?

  3. Jak skonfigurować członkostwo z bazą danych inną niż aspnetdb?

  4. Zachowanie ORDER BY w SELECT INTO

  5. 3 sposoby na usunięcie zduplikowanych wierszy w SQL Server, ignorując klucz podstawowy