- 締切済み
直近1ヶ月に誕生日を迎える社員を抽出
社員の中で直近の1ヶ月に誕生日を迎える社員を抽出し近い日付から順番に表示したいと思っています。 以前ご教示頂いたコードで出来たのですが、少しおかしい点が見つかりました。 現在では下記のように正常に表示されます。 3月2日 山田 3月15日 菊池 3月22日 田中 しかし、実際に山田の誕生日である当日(3月2日)になると、山田のデータは一番下に表示されてしまいます。 3月15日 菊池 3月22日 田中 3月2日 山田 コードは下記のようになっています。 $stmd = date('m/d'); $endmd = date('m/d', strtotime('+1month')); $join = $stmd < $endmd ? 'and' : 'or'; $sql="SELECT office.*, (case when date_format(birth, '%m/%d') <= ? then 1 else 0 end) as sw FROM office where date_format(birth, '%m/%d') >= ? " . $join . " date_format(birth, '%m/%d') <= ? order by sw, date_format(birth, '%m/%d')"; これはどのようにすれば当日になっても順番どおりに表示させることが出来るでしょうか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1