2017-12-19 9 views
0

の最大に基づいて、最小のテーブルを照会します。私のサブクエリ内は、私は、次の</p> <p>PreviousRateCode、CurrentRateCode、PreviousReportDate、CurrentReportDate、TransactionDateを有するサブクエリを有する第二カラム

データは、私は最大の「WorstDerogLevel」に基づいて最小の「RecentDerogMonths」を取得するには、以下の結果を照会するにはどうすればよい

enter image description here

のように見えますか? 私が省略した列にはcustomerIDがありますので、各顧客の最大「WorstDerogLevel」に基づいて最小の「RecentDerogMonths」が必要です。これはより大きな選択のサブクエリですので、

Select Lowest Months by highest level 
From (The result above) 
Group by CustomerID 

答えて

0

これは必要なものですか?

select top 1 t.* 
from t 
order by WorstDerogLevel desc, RecentDerogMonths asc; 

条件に一致するすべての行が必要な場合は、select top (1) with tiesを使用します。

編集:

お客様ごとに、ウィンドウ機能を使用します。一つの方法は、サブクエリを使用していますが、ここではクールなトリックです:私は取り残さ

select top (1) with ties t.* 
from t 
order by row_number() over (partition by customerid order by WorstDerogLevel desc, RecentDerogMonths asc); 
+0

申し訳ありませんが、私はそれが得意先を持って省略し、追加の列がありますので、私は最大の「WorstDerogLevelに基づいて最小の「RecentDerogMonths」が必要顧客ごとにあなたが持っているものは私が必要なものですが、私は完全な行が必要なので、それをグループ化する方法がわかりません。 –

関連する問題