1. 学ぶ
  2. /
  3. コース
  4. /
  5. SQL Server における階層型クエリと再帰クエリ

Connected

演習

世代数を求めよう

この演習では、ランダムな家系図を見ていきます。データセット family は、ID、name、ParentID の3列で構成されています。 あなたのタスクは、世代数を計算することです。ParentID = 101 の人物から始めて、すべての世代を数えていきます。

このタスクでは、世代階層における現在のレベルを表す再帰の LEVEL を計算します。その後、COUNT() を使って LEVEL の数を数えてください。レベルの数が世代数に相当することを思い出してください。例えば、レベル数が 100 であれば、100 世代見つかったということです。

指示

100 XP
  • ParentID を 101 に設定して、再帰の開始点を初期化します。
  • LEVEL を現在の再帰ステップに設定します。
  • 親と子の ID を使って、アンカーメンバーを CTE に結合します。
  • 世代数を COUNT() で集計します。