0

私はこの作業クエリを持っています

SELECT MIN([DealerCode])   
    ,[201309]   
    ,RowNum = Row_Number() OVER(Order By [201309])   
    ,Rnk = RANK() OVER(ORDER BY [201309])   
    ,DenseRnk = DENSE_RANK() OVER(ORDER BY [201309])   
    ,NTile4  = NTILE(100) OVER(ORDER BY [201309])   
    ,BM = RANK() OVER(ORDER BY [201309])*0.7 

FROM [SA_Sew].[dbo].[Sew_YTD_Composite$]   
where Ratio_ID = 'fi02u' AND DealerCode like '%VW%'    
GROUP BY [201309];

NTile4 計算をフィールドとして取得して、Where フィールドで使用できるようにするにはどうすればよいですか? NTile4 = 70 はベンチマークであり、ベンチマークのみを表示する必要があります。

ありがとう!

4

1 に答える 1

2

次のように記述します。

select * from 
(
SELECT MIN([DealerCode]) as MinDealerCode   
    ,[201309]   
    ,RowNum = Row_Number() OVER(Order By [201309])   
    ,Rnk = RANK() OVER(ORDER BY [201309])   
    ,DenseRnk = DENSE_RANK() OVER(ORDER BY [201309])   
    ,NTile4  = NTILE(100) OVER(ORDER BY [201309])   
    ,BM = RANK() OVER(ORDER BY [201309])*0.7 

FROM [SA_Sew].[dbo].[Sew_YTD_Composite$]   
where Ratio_ID = 'fi02u' AND DealerCode like '%VW%'    
GROUP BY [201309]
) as T
where NTile4  = 70;
于 2013-10-16T11:26:46.820 に答える