我最近开始在我的工作(医院)的项目中使用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
... ... ...
祝你好运, 马蒂亚斯
答案 0 :(得分: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]);
答案 1 :(得分:2)
使用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