的日期和max這是我當前的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 > =今天,其中的確如此。 但是,版本和rate_per_room不相符。例如版本12的 ,我應該得到195,但我得到了190。
在我的查詢中是否有遺漏任何部分?
謝謝
'SELECT'room_id','target_date','rate_per_room','max_room' ... GROUP BY'target_date'無效SQL .. MySQL可以爲未在GR中命名的列返回隨機結果OUP BY ...閱讀https://www.psce.com/zh/blog/2012/05/15/mysql-mistakes-do-you-use-group-by-correctly/ –
您的查詢沒有意義。它不應該跑。 rate_per_room的哪個值將會被target_date 2017-10-01拾取? – Eric