2010-03-24 46 views
1

我有一個包含user_id和date_of_purchase的購買表。在SQL中進行分組時的日期差異

我需要能夠選擇在12個月內完成了兩次購買的所有用戶。日期可以是任何時間點,只要它們相隔不到12個月。

例如

user_id  date_of_purchase 
123   01/Jan/2010 
124   01/Aug/2010 
123   01/Feb/2010 
124   05/Aug/2008 

在這個例子中,我想user_id說明123

回答

1
select distinct user_id 
from MyTable t1 
inner join MyTable t2 on t1.user_id = t2.user_id 
where t1.date_of_purchase - t2.date_of_purchase <= 365 

注意:這不處理閏年。

0

在Oracle中,有一個DATE_DIFF功能 - 我覺得MS相當於沒有下劃線(DATEDIFF)。