以下の形式で mysql データベースにテーブル予約があります。
id | customer_id | user_id | date_booked
1 | 1 | 1 | 2012-11-5
特定のユーザーの顧客数を取得したい。だから私はクエリを書いた
select count(*), user_id, customer_id,date_booked from reservations where user_id=1 group by customer_id
これにより、目的の方法で結果が取得されます。しかし、 date_booked 、記録された最初の値を取得します。つまり、id 2 の顧客に 4 つのレコードがある場合、最初のレコードの date_booked 値をフェッチします。最新の値が欲しいので、以下のようにクエリを改善しました
select count(*), user_id, customer_id,max(date_booked) from reservations where user_id=1 group by customer_id
これにより、記録された最高の日付が取得されます。これはまだ取得したい結果セットではありません。最新の日付が必要ですが、それは現在の日付 (今日) よりも小さい必要があります。
このような条件を書く方法はありますか
max(date_booked)<date(now())
最大の日付を取得したいが、今日よりも短い。これを CakePHP で実現したいと考えています。クエリを手伝ってくれる人がいれば、cakePHP 形式で書くことができます。
必要に応じて質問を改善してください。