1

ユーザーの誕生日を表す日付列がありますが、年は使用されていません (一部のユーザーにとって機密となる年齢データを避けるため:))。それを別の列と比較して、ユーザーが誕生月の最後の日以降にトレーニングを完了したかどうかを確認する必要があります。

つまり、が、過去training_dateに自分の誕生月が最後に発生した月の最終日以降に発生した場合です。この質問では、誕生日列の名前が であると仮定します。birthday

where `training`.`date_training` BETWEEN MAKEDATE(Year(CURDATE()) -1,dayofyear(`user`.`birthdate`)) AND MAKEDATE(Year(CURDATE()) -1,dayofyear(`user`.`birthdate`));

編集:birthdayは任意の年で保存されます。現在、非公式のビジネス ルールでは、レコードが入力された年が使用されます。

4

1 に答える 1