これは私の現在のSQLクエリです:グループ
SELECT `room_id`, `target_date`, `rate_per_room`, `max_room`, MAX(`version`)
FROM `t0311_room_rate`
WHERE `room_id` = ?
AND `target_date` >= ?
AND `target_date` is not null
GROUP BY `target_date`
ORDER BY `target_date`
これらは私がtarget_dateを照会すると、私は3つのレコードを取得する必要があり、私のサンプルデータ
です> =今日、それはそうです。 しかし、バージョンとrate_per_roomは計算されません。例えばバージョン12の場合は 、私は195になるはずですが、代わりに190が得られます。
私の質問に欠けている部分はありますか?
あなたがMAX(rate_per_room)
をしたいよう
'SELECT' room_id'、 'target_date'、' rate_per_room'、 'max_room' ... GROUP BY' target_date'は無効なSQLです.. MySQLはGRに名前のないカラムのランダムな結果を返すことができますOUP BY ...を読んでください。https://www.psce.com/en/blog/2012/05/15/mysql-mistakes-do-you-use-group-by-correctly/ –
あなたの質問は意味をなさない。走ってはいけません。 target_date 2017-10-01のrate_per_roomの値はどれですか? – Eric