【发布时间】:2026-02-13 15:20:07
【问题描述】:
similar post 不太符合我的需求。我正在使用 SSMS(SQL 服务器)。我想为 8 周内(ApptDate 到 ApptDate + 56)内患者的预约计数添加一列。解决这个问题的最佳方法是什么? (任何示例代码都将不胜感激。)数据表看起来有点像这样:
ApptID PatientID ApptDate
----------------------------------
Appt1 Pt1 Datetime1
Appt2 Pt1 Datetime2
Appt3 Pt2 Datetime3
... ... ...
我希望输出如下所示:
ApptID PatientID ApptDate CountOfVisitInNext8Wks (i.e. Datetime to Datetime+56)
-----------------------------------------------------------
Appt1 Pt1 Datetime1 2
Appt2 Pt1 Datetime2 1
Appt3 Pt2 Datetime3 7
... ... ... ...
我打算使用上面的输出表来创建另一个显示患者最大计数的表:
PatientID MaxCountOfVisitInNext8Wks
-------------------------------------
Pt1 2
Pt2 7
我的数据集很小,所以效率不是问题。我不知道如何最好地解决这个问题(例如,子查询、上面链接的帖子中的内部连接、带有日期参数的 while 循环)。我是 SQL 的初学者。提前致谢。
【问题讨论】:
标签: sql sql-server date dynamic aggregate