假设我有这些表:
[ properties ]
id (INT, PK)
name (VARCHAR)
[ properties_prices ]
id (INT, PK)
property_id (INT, FK)
date_begin (DATE)
date_end (DATE)
price_per_day (DECIMAL)
price_per_week (DECIMAL)
price_per_month (DECIMAL)
我的访问者运行如下搜索:列出 5 月 1 日至 12 月 31 日期间每日价格(price_per_day 字段)在 10 到 100 之间的前 10 个(分页)属性
我知道这是一个巨大的查询,我需要对结果进行分页,所以我必须完成所有计算并只登录一个查询......这就是我在这里的原因!:)
关于问题的问题
如果有差距,那会是可接受的属性吗?
没有空隙。所有可能的日期都在数据库中。
如果某些超期的价格在 10 到 100 之间,而在其他时期则不是,您想获得该房产吗?
在完美的世界中,不......我们需要考虑所有变化/时期来计算该时期那种价格的“总和”。
另外,什么是“前10”?它们是如何排序的?先最低价?但价格可能不止一个。
这只是每页 10 个结果的分页示例...可以通过我将添加关键字和这些内容的 FULLTEXT 搜索进行排序...正如我所说,这是一个非常大的查询。