查询在开始日期和结束日期之间获取重复的客户

时间:2015-06-01 17:36:36

标签: mysql sql database

我有一个包含以下属性的表:

Date | Inv_Num | Cust_Name

现在,鉴于开始日期和结束日期,我希望所有具有多个发票的Cust_Name在期间内铺设日期?

如果两个发票日期之间的差异少于30天,则不会将客户视为重复。

示例:

01/19/2013  201237  A
01/11/2013  201235  A
01/05/2013  201276  B
03/05/2013  201256  B
12/12/2000  201010  C

如果这里的StartDate是01/01/2013并且EndDate是06/06/2013那么这里A不是重复客户,而B是重复客户而C不在提及的范围内。如何处理此查询请帮忙。我们面临的主要问题是如何根据Cust_Name对记录进行分组后进行比较。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下[未经测试]

select a.cust_name
from invoice a join invoice b 
on a.cust_name = b.cust_name 
and a.`date` < b.`date`
where datediff(b.`date`, a.`date`) > 30