로그인 이벤트에 대한 정보가있는 테이블이 있습니다. 사용자가 로그인 할 때마다 사용자와 날짜가 포함 된 레코드가 추가됩니다. 나는 그 테이블에서 사용자가 지난 31 일 동안 로그인 한 횟수 (현재 시도 포함)를 보유하고있는 새로운 열을 계산하려고합니다.설정 시간대에 대한 SQL 롤링 요약 통계
UserID Date LoginsInPast31Days
-------- ------------- --------------------
1 01-01-2012 1
2 02-01-2012 1
2 10-01-2012 2
1 25-01-2012 2
2 03-02-2012 2
2 22-03-2012 1
내가 로그인 시도의 총 양을 계산하는 방법을 알고 : 이것은 내 표는 내가 추가 할 열을 포함 모습의 단순화 된 버전입니다 나는 COUNT(*) OVER (PARTITION BY UserId ORDER BY Date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
을 사용하십시오. 그러나 기간을 지난 31 일로 제한하려고합니다. 내 생각 엔 UNBOUNDED PRECEDING
을 변경해야하지만, 올바른 양의 행을 선택하는 방식으로 어떻게 변경합니까?
사용하고있는 데이터베이스? –
SQL Server 2012, 곧 2016 년으로 업그레이드 할 예정입니다. –