我最近在工作(医院)的一个项目中开始使用Access数据库,并从该站点获得了许多有用的技巧。但是,我现在有一个问题,无法解决。
我有一张表格,其中包含很多患者的治疗日期(以及其他数据)。我的任务是计算每周(可能还包括月/季/年)内接受的治疗次数。治疗日期位于表格“数据”中的“治疗日期”列中。
我已经使用DatePart
将年份和星期数分开为:
SELECT
DatePart('yyyy',[TreatStart]) AS Year, DatePart('ww',[TreatStart]) AS Week
FROM Data
ORDER BY DatePart('yyyy',[TreatStart]),DatePart('ww',[TreatStart]);
这给了我:
Year Week
2006 16
2006 16
2006 16
2006 17
2006 17
2006 18
2006 19
2006 19
2006 19
... ...
我如何计算每周发生的次数以获取类似信息:
Year Week N
2006 16 3
2006 17 2
2006 18 1
2006 19 3
... ... ...
最好的祝福,
马蒂亚斯
最佳答案
使用GROUP BY
和COUNT
:
SELECT DatePart('yyyy',[TreatStart]) AS Year,
DatePart('ww',[TreatStart]) AS Week,
COUNT(*) as N
FROM Data
GROUP BY DatePart('yyyy',[TreatStart]),DatePart('ww',[TreatStart])
ORDER BY DatePart('yyyy',[TreatStart]),DatePart('ww',[TreatStart]);
输出将是:
Year Week N
2006 16 3
2006 17 2
2006 18 1
2006 19 3