我试图找出在 2004 年 5 月 20 日之前或之后的 14 天内有多少客户查看了房产。完全不知道该怎么做。
我假设我需要对它进行分组并使用拥有?
编辑:我现在正在使用 oracle
select count(*)
from VIEWING
WHERE CLAUSE?
对于具有该特定日期的一次性查询,
select count(*) clients
from yourtable
where yourdatefield >= {d'2004-05-06'}
and yourdatefield < {d'2004-06-08'}
您可能需要查阅日历以查看这些日期是否正确。
编辑#1,因为您使用的是 Oracle,您可以使用:
select count(*) TotalClients
from yourtable
where dt >= (to_date('2004-05-20', 'yyyy-mm-dd') - INTERVAL '14' DAY)
and dt <= (to_date('2004-05-20', 'yyyy-mm-dd') + INTERVAL '14' DAY)
根据您之前的一些问题,您使用的是 MySQL。
如果您使用的是 MySQL,那么您可以使用该DATE_ADD()
函数获取日期范围,然后用于count(*)
返回这些日期的所有记录:
select count(*) TotalClients
from yourtable
where dt >= date_add(str_to_date('2004-05-20', '%Y-%m-%d'), INTERVAL -14 day)
and dt <= date_add(str_to_date('2004-05-20', '%Y-%m-%d'), INTERVAL 14 day)