Sql 多行中日期的日期差异

Sql 多行中日期的日期差异,sql,sql-server,date,datetime,datediff,Sql,Sql Server,Date,Datetime,Datediff,我试图找出顾客在餐馆初次拜访和回访之间的天数,但由于初次拜访和回访的日期在不同的行中,所以我很难找到。数据是敏感的,所以我不能在这里发布,但它看起来像这样: 如果DATEDIFF不是这里的最佳选择,有人能推荐另一个函数吗?您可以使用分组方式来汇总数据。假设每个客户每种类型有一行(与示例数据一致): 然后你可以计算出差值。这取决于数据库。有些支持特殊功能。有些只是使用-。您应该查阅您正在使用的数据库的文档。至少花点时间以易于复制的格式发布数据。您使用的SQL server版本是什么?抱歉,Sal

我试图找出顾客在餐馆初次拜访和回访之间的天数,但由于初次拜访和回访的日期在不同的行中,所以我很难找到。数据是敏感的,所以我不能在这里发布,但它看起来像这样:


如果DATEDIFF不是这里的最佳选择,有人能推荐另一个函数吗?

您可以使用
分组方式来汇总数据。假设每个客户每种类型有一行(与示例数据一致):


然后你可以计算出差值。这取决于数据库。有些支持特殊功能。有些只是使用
-
。您应该查阅您正在使用的数据库的文档。

至少花点时间以易于复制的格式发布数据。您使用的SQL server版本是什么?抱歉,Salman,我当时很忙,我试图发布的所有文本表都乱七八糟。另外,我正在使用SQL Server 17.5。感谢您的回复。不过,我不确定这是否适用于Customer_ID 2,因为它错过了第一次回访。如果我试图找到所有在(比如)20天内返回的客户,我认为这种方法将错过客户2,因为差异将是3/15-2/15。@GhostBen。你在评论中具体说明的内容不在问题中。这回答了你提出的问题。我建议您提出另一个问题,提供更合适的样本数据、期望的结果,并对您试图实现的目标进行很好的解释。
select customer_id, min(initial_visit), max(return_visit)
from t
group by customer_id;