我正在尝试构建一个查询,以小时计算急诊室中的患者人数。我有每个患者的到达和离开时间。我试图建立一个布尔风格的查询,但它所作的只是使用这个逻辑按小时计算患者人口普查
SELECT MRN,
,CASE WHEN CAST(EDArrival AS TIME) between '00:00:00.000' and '00:59:59.000' then 1 else 0 end as Hour0
,CASE WHEN CAST(EDArrival AS TIME) between '01:00:00.000' and '01:59:59.000' then 1 else 0 end as Hour1
,CASE WHEN CAST(EDArrival AS TIME) between '02:00:00.000' and '02:59:59.000' then 1 else 0 end as Hour2
FROM EDArrivals
WHERE EDArrival“2012-06-01”之间“2013-07-01”
给我按小时抵港我在想也许查询可能会在每个小时内为他们在1小时内放置一个1或0的列。我最终希望得到的是在一年中每小时的平均患病率。如果有人能想到更简单的方法,我将非常感谢帮助。
谢谢
'select count(*)from ... where ... between ... between group by hour(edarrival)',基本上,使用sqlserver特定的时间内容。 –
由于您正在出发时间,并且您希望患者仍处于紧急状态,为何不选择出发时间为空的患者? – jean
@jean我不能使用这种逻辑,因为它只会给我那些目前仍在ED中的患者。我需要建立这样一个回顾性工具,可用于确定ED何时最满。 – AndrewMo