【发布时间】:2021-07-22 09:52:56
【问题描述】:
我有一个类似这样的医院数据库
id | patient_name | admitDate | DischargeDate |RoomCategory
1 | john |3/01/2011 | 5/01/2011 |Category1
2 | lisa |3/01/2011 | 4/01/2011 |Category2
3 | ron |5/01/2011 | 10/01/2011 |Category1
4 | howard |6/01/2012 | 10/01/2012 |Category3
5 | john |6/05/2011 | 7/05/2011 |Category4
6 | rammy |6/02/2011 | 7/03/2011 |Category4
我要计算每天住院病人的数量(入院和出院日期都要计算),并按类别分组
假设在 2011 年 3 月 1 日,我们有 2 名患者,一名在 1 类,一名在 2011 年 4 月 1 日,我们再次有相同的 2 名患者,但在 2011 年 5 月 1 日,丽莎(id 2)出院所以我们只有 1 名 1 类患者,但现在 ron (id 3) 也入院了,所以现在我们也必须算上他。
输出应该是这样的
Date | Category1 | Category2 | Category3 |Category4
3/01/2011 | 1 | 1 | 0 | 0
4/01/2011 | 1 | 1 | 0 | 0
5/01/2011 | 2 | 0 | 0 | 0
我不知道如何列出所有可能有病人的日期,因为实际表格很大,而且很多日期都没有病人。我也无法知道我将如何区分每个类别的计数。
我的实际表格中总共有 15 个类别,因此单独为每个类别使用 where 效率不会很高。
【问题讨论】:
-
我没有“删除”它,您无法评论已删除的问题。至于不能用
PIVOT那就用条件聚合吧。我再次为您打开了这个,但这只是上面的副本。 -
@Larnu 谢谢你的打开,我正在阅读你发送的链接,也许他们有帮助
-
@Larnu 我觉得问题已经死了,浏览量没有增加:(
-
21 分钟后……真的……?请耐心等待...由于您发布了您的问题,仅发布了 1 个与 SQL Server 相关的问题...Stack Overflow 不是免费的编码服务,请不要将其视为免费。
标签: sql sql-server tsql