私は3つのテーブルを持っています:
ユーザー: id、名前
シフト: id、date_start、date_end
users_shifts: user_id、shift_id
特定の日付範囲でn 回のシフトを行ったすべてのユーザーを取得したいと考えています。ここで、n は任意の整数 (0 も可) です。
次のように、すべてのユーザーが行ったシフトの数を取得できます。
SELECT
users.*,
COUNT(users_shifts.user_id) AS nr_shifts
FROM
users
LEFT JOIN
users_shifts ON users.id = users_shifts.user_id
GROUP BY
users.id
方法がわかりません:
1) このクエリに日付範囲を追加する
2) 結果を特定の nr_shifts に制限する
どんな助けでも大歓迎です。