2016-08-22 2 views
0

SQL Server 2008 R2를 사용하고 있습니다. 나는 다음과 같은 구조 및 샘플 데이터 테이블이라고 EmployeePurcheses 있습니다row_number 오버 파티션

EmployeeID Date Usd 
1  2014-11-12 5 
1  2014-11-18 9 
1  2014-11-18 7 

내가 뭘하려고 오전 날짜 필드에 의해 주문시 각 날짜에서이 직원의 고용 일 주 목록입니다. 결과는 다음과 같습니다 :

rn EmployeeID Date WW 
1 1  2014-11-12 46 
2 1  2014-11-18 47 
2 1  2014-11-18 47 

다음 쿼리를 사용하여 데이터를 분할하는 데 사용하려고했지만 실패했습니다. 미리 감사드립니다.

select 
     rn = ROW_NUMBER() over (partition by DATEPART(ww, [Date]) order by  
     DATEPART(ww, [Date])) 
     ,[EmployeeID ] 
     ,Cast([Date] as date) as [Date] 
     ,DATEPART(ww, [Date]) as WW 
FROM EmployeePurcheses 
Order by [Date] asc 
+0

'나는 다음과 같은 쿼리를 사용하여 데이터를 분할 사용하는 것이 아니라 그것은 오류가 무엇인지 failed.' – TheGameiswar

답변

1

는 결과에 따르면 당신은 어떤 파티션에 DENSE_RANK() 필요합니다

WITH EmployeePurchases AS 
(
    SELECT * FROM (VALUES 
    (1, '2014-11-12', 5), 
    (1, '2014-11-18', 9), 
    (1, '2014-11-18', 7)) T(EmployeeID, Date, Usd) 
) 
select 
     rn = DENSE_RANK() over (order by DATEPART(WW, [Date])) 
     ,[EmployeeID] 
     ,Cast([Date] as date) as [Date] 
     ,DATEPART(ww, [Date]) as WW 
FROM EmployeePurchases 
Order by [Date] asc