这里是我的数据库(在酒店免费客房,简体)的MySQL查询日期范围
rooms_available:
id date_available room_id
================================
1 2013-12-19 2
2 2013-12-20 2
3 2013-12-21 2
4 2013-12-22 2
5 2013-12-23 2
6 2013-12-25 3
客房:
id name minimal_range
================================
2 Apartment A 5
3 Apartment B 1
我想查询所有2013年12月20日至2013年12月22日和2013年12月22日期间可以使用的客房 -
我的查询是这样的:
select *
from rooms_available
where (date='2013-12-20' OR date='2013-12-21' OR date='2013-12-22')
我的问题:
- 是有一个更舒适的方式?当日期范围为2周时,查询也会很长(查询需要更长的时间)
- 是否可以考虑最小范围 - 例如:room_id 2仅适用于至少5晚(见表 “房间”) - >所以上面的查询应返回任何记录
感谢
我怀疑这是更常见的存储房间时,而不是当他们可用 – Strawberry
这个问题被问了100次左右,所以你可能想要检查下次已经回答的问题 – jeroenvisser101