セクション 3. 章 4
single
チャレンジ:ウィンドウ関数の使用
メニューを表示するにはスワイプしてください
各ユーザーがどのクラスに属するかを、アカウント残高に基づいてテーブルに追加することを想定します。
クラスの判定基準は以下の通りです:
- アカウント残高が下位
25%にある場合、第4クラスに属する; - アカウント残高が
25%から50%の間にある場合、第3クラスに属する; - アカウント残高が
50%から75%の間にある場合、第2クラスに属する; - アカウント残高が上位
25%にある場合、第1クラスに属する。
この問題を解決するために、NTILE()というウィンドウ関数を使用できます。
NTILE()関数は、順序付けされたパーティション内の行を指定した数のほぼ等しいグループ(タイル)に分割するウィンドウ関数です。
各行に対して、その行が属するグループ番号を1から割り当てます。
NTILE(num_buckets) OVER (
ORDER BY sort_column
)
ノート
この例では、PARTITION BY関数を結果セット全体に適用したいため、NTILE()句を指定する必要はありません。
ORDER BY句のみで十分であり、これは行がどのような順序でタイルに分配されるかを定義し、テーブル全体の給与の並び順に基づいてグループ分けが行われます。
特定のグループ(例:部門)ごとにタイルを計算したい場合は、PARTITION BYを使用します。
タスク
スワイプしてコーディングを開始
NTILE() 関数を使用して、各口座保有者に 1 から 4 までのクラスを割り当ててください。クラス 1 には最も高い残高が含まれます。
- クラス数として 4 を使用します。
balance列で降順に並べ替えます。- 結果には
account_holder、balance、およびそのclassを表示してください。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 4
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください