0
我有一些用戶,他們在一段時間內可以有很多預訂。每個預訂可以有多個人。Mysql - 加入查詢的總計結果
查詢可能看起來像:
SELECT users.*,
(SELECT COUNT(person) FROM person_to_booking WHERE person_to_booking.booking = bookings.id) AS people_per_booking
FROM users
LEFT JOIN bookings ON users.id = bookings.user
GROUP BY users.id
這返回一個結果,隨着人們最後的預訂數量。如果我刪除GROUP BY
,那麼我會得到4行,每行都有相應的預訂人數。
我需要有一行,SUM()
的COUNT(person)
。我怎樣才能做到這一點?
編輯
表的構成就像這樣:
Users
id | name
---------
1 | Dave
2 | Bob
Bookings
id | user | company
-------------
1 | 1 | Big Group
2 | 1 | Big Group
3 | 2 | Small Company
Person to Bookings
id | person | bookings
----------------------
1 | 1 | 1
1 | 2 | 1
1 | 3 | 1
1 | 4 | 1
1 | 5 | 2
1 | 6 | 2
這樣用戶就可以擁有預約對他們,然後預約可以有很多的人。
表結構可能有助於回答..謝謝。 – roetnig
@roetnig添加了一個示例結構。 –
你的問題是什麼?也就是說,你想從數據中計算出什麼結果? –