我有一個MySQL表是這樣的:SQL查詢SUM()和GROUP BY
acco_id | room_id | arrival | amount | persons | available
1 | 1 | 2015-19-12 | 3 | 4 | 1
1 | 2 | 2015-19-12 | 1 | 10 | 1
1 | 1 | 2015-26-12 | 4 | 4 | 1
1 | 2 | 2015-26-12 | 2 | 10 | 1
2 | 3 | 2015-19-12 | 2 | 6 | 0
2 | 4 | 2015-19-12 | 1 | 4 | 1
什麼我嘗試實現是一個像結果的單一查詢:
acco_id | max_persons_available
1 | 22
2 | 4
我嘗試使用GROUP BY accommodation_id使用類似的查詢:
SELECT
accommodation_id,
SUM(amount * persons) as max_persons_available
FROM
availabilities
WHERE
available = 1
GROUP BY
accommodation_id
現在只有acco_id的結果使用所有到達日期。當我添加到查詢沒有更多獨特的acco_id的。
有誰知道一個很好的可以使用表索引的單個SQL?
如何在'max_persons_available'中獲得'22'?它不應該是'20'嗎? –
'2015-26-12' - 這是什麼樣的日期格式? –
所以你說的是,當你添加到你的選擇,它不再分組? ..如果你添加GROUP BY accomodation_id,到達怎麼辦? – DTH