ドラッグドロップ
注:この質問は、同じシナリオを使用する一連の質問の一部です。あなたの便宜のために、シナリオは各質問で繰り返されます。各質問には異なる目標と回答の選択肢がありますが、シナリオのテキストはこのシリーズの各質問で全く同じです。
北米の顧客の注文と配送を追跡するデータベースがあります。システムのバージョン管理はすべてのテーブルで有効です。データベースには、Sales.Customers、Application.Cities、およびSales.CustomerCategoriesテーブルが含まれています。
Sales.Customersテーブルの詳細を次の表に示します。

Application.Citiesテーブルの詳細を次の表に示します。

Sales.CustomerCategoriesテーブルの詳細を次の表に示します。

各都市で最初の顧客口座が開設された時期を示すレポートを作成しています。レポートには、次の特性を持つ折れ線グラフが含まれています。
チャートには、各都市のデータポイントと、そのポイントを結ぶ線が含まれています。

X軸は、都市が他の都市に対して占有する位置を含む。

Y軸には、都市の最初のアカウントが開かれた日付が含まれています。

次の5つの都市のチャート例を以下に示します。

セールスプロモーションでは、さまざまな都市の顧客が同じ日付に新しいアカウントを開きます。
グラフのデータを返すクエリを記述する必要があります。
Transact-SQLステートメントをどのように完了する必要がありますか?これに答えるには、適切なTransact-SQLセグメントを正しい場所にドラッグします。各Transact-SQLセグメントは、1回、複数回、またはまったく使用できません。コンテンツを表示するには、分割バーをペインの間にドラッグするかスクロールする必要があります。
注:それぞれの正しい選択は1つの点で価値があります。
選択と配置:

正解:

説明/参照:
Explanation:
ボックス1:RANK()オーバー
RANKは、結果セットのパーティション内の各行のランクを返します。行のランクは、その行の前に来るランクの数に1を加えたものです。
ROW_NUMBERとRANKは似ています。 ROW_NUMBERは、すべての行に順番に番号を付けます(たとえば、1,2、
3,4,5)。
間違った回答:
DENSE_RANKは、結果セットのパーティション内の行のランクを返します。ランクにはギャップはありません。
行のランクは、問題の行の前に来る別個のランクの数に1を加えたものです。
ボックス2:(区画BYシティBYオーダーBY MIN(AccountOpenedDate)DESC)
RANKの構文:RANK()OVER([partition_by_clause] order_by_clause)ボックス3:GROUP BY CityID
参考資料:https://msdn.microsoft.com/en-us/library/ms176102.aspx