多行日期的 DATEDIFF

DATEDIFF on Dates in Multiple Rows

我正在尝试查找餐厅顾客初次光顾与 return 光顾之间的天数,但自初次光顾和return 访问在不同的行中。数据很敏感,所以我不能在这里 post,但它看起来像这样:

如果 DATEDIFF 不是这里的最佳选择,有人可以建议另一个函数吗?

您可以使用 group by 汇总数据。 . .假设每个客户每种类型一行(这与您的示例数据一致):

select customer_id, min(initial_visit), max(return_visit)
from t
group by customer_id;

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