1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶデータベース入門

Connected

演習

階層データでの関数と group_by の活用

階層構造のテーブルでは、データをロールアップしたくなる場面もよくあります。ロールアップでは、どのエイリアスで group_by を行うか、またどのテーブルに関数を適用するかに注意する必要があります。

ここでは、各マネージャーごとの従業員数を取得するのが目的です。

指示

100 XP
  • employees テーブルのエイリアスを managers として保存します。
  • managers テーブルの name 列と、その配下の従業員数を選択するクエリを作成します。関数 func.count() はすでにインポートされています。これを使って employees テーブルの id 列をカウントしてください。
  • .where() 句を使い、managers テーブルの id 列と employees テーブルの mgr 列が等しいレコードに絞り込みます。
  • managers テーブルの name 列でクエリをグループ化します。
  • ステートメントを実行してすべての結果を保存します。マネージャー名とその従業員数を出力します。このコードはすでに用意されているので、回答を送信して結果を確認しましょう!