医師別の累積予約件数をウィンドウ関数で算出

上級
ウィンドウ関数

医師別の累積予約件数をウィンドウ関数で算出

ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。

ブラウザ上でSQLを書いて解いてみましょう

ログインして挑戦できます

ログインして解く

問題文

appointmentsとdoctorsをJOINし、医師ごとに予約日順で累積予約件数をCOUNT() OVERで計算してください。

結合のヒント

  • doctorsテーブル(エイリアス: d)との結合条件: a.doctor_id = d.id(appointments.doctor_id = doctors.id)

取得列: d.name AS doctor_name, a.appointment_date, COUNT(*) OVER (PARTITION BY a.doctor_id ORDER BY a.appointment_date) AS cumulative_appointments

この問題で学べること

  • ウィンドウ関数 の構文・考え方
  • 上級レベルのSQLクエリの書き方
  • ブラウザ上でSQLを実行して即座に結果を確認する練習

使用テーブル

appointmentsdoctors

難易度・対象者

難易度上級
カテゴリウィンドウ関数
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。

関連問題


実際にSQLを書いて理解を深めましょう

ブラウザ上で実行できる採点付きSQLエディタで練習できます

ログインして解く
QSQL Quest