我正在爲預訂系統制定表格模式。預訂可以完成幾天或幾小時。查找日期範圍內每天有多少個單位可用
例如:100檯筆記本電腦可用,20人在不同日期租用35檯筆記本電腦。隨着不同的簽入和結帳時間。
我想根據顯示每天有多少單位的結果生成預訂日曆。
我正在嘗試生成顯示日期範圍(如2016-01-01 10:30至2016-01-04 10:30)的單位計數的結果。
Date | availableUnits
2016-01-01 | 10
2016-01-02 | 6
2016-01-03 | 0
2016-01-04 | 11
廣告的表
id | title | unit
142 | HP Laptop | 100
143 | Apple MacBook Air | 25
表預訂
id | ad_id | start_date | end_date | units
5 | 143 | 2015-08-17 18:18:00 | 2015-08-24 18:18:00 | 5
8 | 142 | 2015-08-20 05:30:00 | 2015-08-31 05:30:00 | 2
1 | 143 | 2015-08-20 16:59:00 | 2015-08-25 16:58:00 | 1
6 | 142 | 2015-08-25 20:37:00 | 2015-08-29 20:37:00 | 1
10 | 142 | 2015-08-27 05:30:00 | 2015-08-29 04:30:00 | 1
11 | 143 | 2015-09-01 05:30:00 | 2015-09-05 05:30:00 | 3
4 | 142 | 2015-09-01 17:20:00 | 2015-10-12 17:20:00 | 2
3 | 143 | 2015-09-01 21:28:00 | 2015-09-30 21:28:00 | 5
19 | 143 | 2015-09-03 05:30:00 | 2015-09-26 05:30:00 | 1
12 | 142 | 2015-09-05 05:30:00 | 2015-09-10 05:30:00 | 1
我創建了一個SQL小提琴,如果有人想運行的查詢。 SQL fiddle
我嘗試了幾種不同的方法,但沒有取得太大的成功。爲每一天存儲可用性是一種選擇。但是,當廣告數量增加時,這可能是一個大問題。即使少量的廣告可以生成大量的數據,如果我這樣做。
任何建議是welocme
你用什麼時間作爲採樣點來獲取可用單元的數量?你說*如2016-01-01 10:30到2016-01-04 10:30 *所以取決於用戶輸入和類似* 2016-01-01 10:30到2016-01-04 12: 30 *將無效? –
@FrederickZhang是的,這將是有效的。用戶可以選擇任何日期範圍。 –