我正在尝试计算同一领域中两个日期之间的平均时间。
基本上我有每个交易的交易日期和ID以及每笔交易的客户ID。
我需要在第一笔交易和第二笔交易之间获得时间。我不介意在excel中计算两者之间的平均值,但我不知道如何从同一领域拉出两个日期。
第一个事务的transaction.created_at减去数据库中每个客户的第二个事务的transaction.created_at。我可以拉出像
这样的交易日期select
customer.id,
transaction.created_at
count(transaction.id)
from transaction
having count(transaction.id) = 2
由于
答案 0 :(得分:0)
尝试以下方法检索特定客户交易计数:
Select
Customer.id,
count(transaction.id)
from transaction
where Customer.id = '10'
此处10指定您搜索过的customer id
。您必须在创建的SP中将此customer id
作为参数传递。
答案 1 :(得分:0)
不确定这是否总是有计数(*)= 2?如果是这样,我认为你可以使用min和max,不是吗?
/*
create table dbo.Example (tran_id int,created_at datetime,cust_id int)
insert dbo.example values (1,'10/1/2012',900)
insert dbo.example values (2,'10/2/2012',901)
insert dbo.example values (3,'10/18/2012',590)
insert dbo.example values (4,'10/10/2012',676)
insert dbo.example values (5,'10/11/2012',123)
insert dbo.example values (6,'10/17/2012',456)
insert dbo.example values (7,'10/9/2012',901)
insert dbo.example values (8,'10/30/2012',900)
insert dbo.example values (9,'10/4/2012',456)
insert dbo.example values (10,'10/17/2012',676)
*/
select
cust_id,
max([created_at]) as [Last Date],
min([created_at]) as [First Date],
datediff(hh,min([created_at]) ,max([created_at])) as [Hours diff]
from example
group by cust_id
having count(*) = 2
order by cust_id