我有两张桌子,
TABLE_1:
ID RECENT_PURCHASE OLDEST_PURCHASE
------ --------------- ---------------
1 12/01/2001 04/20/1999
2 12/01/2001 08/08/1998
3 10/06/2001 01/27/1998
4 08/11/2001 06/13/2000
6 10/02/2001 05/18/2000
TABLE_2:
ID PURCHASE_NUMBER
------ ---------------
1 2
2 7
3 2
4 3
6 3
那么,我想做什么:
计算“RECENT_PURCHASE”和“RECENT_PURCHASE”之间的平均天数 “OLDEST_PURCHASE”。我的意思是,首先我想得到的数量 表1中“RECENT_PURCHASE”和“OLDEST_PURCHASE”之间的天数,以及 然后将结果除以表2中的“PURCHASE_NUMBER”。我该如何手动完成?
我喜欢什么,
选择ID,(H.recent_purchase - H.oldest_purchase)/ I.purchase_number)来自~~
但是它返回了完全不正确的值..比如10000,这没有意义
预期结果如下:
ID AVG_PURCHASE_DATE
------ -------------
1 478
2 173
......等等
例如,对于ID 1:
我使用了folliwng网站 https://www.timeanddate.com/date/durationresult.html?m1=04&d1=20&y1=1999&m2=12&d2=01&y2=2001 计算2个日期之间的天数,我把“12/01/2001”和“04/20/1999”,并说它有956天。划分为956/2(因为表2中的id为2)为478天。
例如,对于ID 2:
我使用了folliwng网站 https://www.timeanddate.com/date/durationresult.html?m1=04&d1=20&y1=1999&m2=12&d2=01&y2=2001 计算2个日期之间的天数,我把“08/08/1998”和“12/01/2001”,并且说有1211天。除以1211/7(因为表2中的id 2为7)是173天。
答案 0 :(得分:1)
根据此answer使用DAYS(DATE) - DAYS(DATE)来获取两个日期之间的日期差异。
SELECT ID, DAYS(RECENT_PURCHASE) - DAYES(OLDEST_PURCHASE)
FROM TABLE1
然后使用INNER JOIN与表2使用ID并除以PURCHASE_NUMBER
SELECT TABLE1.ID,
(DAYS(RECENT_PURCHASE) - DAYES(OLDEST_PURCHASE)) / PURCHASE_NUMBER
FROM TABLE1
INNER JOIN TABLE2
ON TABLE1.ID = TABLE2.ID