【问题标题】:Return absolute number, and percentage together返回绝对数和百分比
【发布时间】:2019-09-26 19:08:41
【问题描述】:

我正在尝试从我的医院数据库中计算 [访问] 的总数,以便我可以使用结果从我的 Python 脚本中读取数据,并每周向我们的团队发送每周总结。所以,我想知道是否有人可以帮助我查询,因为我还在学习 SQL。

Goal Table format:
 - Date (prefer dd/mm/yyyy)
 - Patient_Name (e.g John)
 - Patient_Id (e.g 12345)
 - Visits 
 - Professionals (Categorical Variables: Nurse, Doctor, Assistant Nurse)

因此,我想获得一个查询,该查询可以列出特定日期范围内护士的总就诊次数以及该特定患者一周内所有专业人员的总就诊次数百分比。例如,护士(John)访问患者 15 次,助理护士访问 10 次,而医生每周访问 5 次,所以我的最终表是这样的:

      ____________________________________________
     |____Date_____|__Prof__|__Visits_|___Percen__|
     |06/01/2018   | Nurse  |   15    |   0.5     |
     |02/11/2017   | A-Nurse|   10    |   0.33    |
     |19/04/2016   | Nurse  |    5    |   0.16    |
     |

以下是我的 SSMS 上的 SQL 语句,我使用案例语句作为专业数据,因为根据患者需求,有时治疗师会访问而不是护士/医生,所以我希望这部分是动态的:

SELECT  CONVERT(VARCHAR(10), [myDate], 101), SUM([visits]) AS [Date] , [Professionals], ((SELECT [Visits] from MyHospitalTable)* 100 / (Select SUM([Visits]) From MyHospitalTable)) as Percen
FROM
(SELECT 
   Count(*) as [total],
   [Date] as [myDate],
   [Patient_id] as [myPatient_Id],
   [Patient_Name] as [myPatient_Name],
   [visits] as [visits],
   CASE
          WHEN [Professionals] LIKE '%Nurse%' THEN 'Nurse'
          WHEN [Professionals] LIKE '%Therapist%' THEN 'Therapy'
          else 'Unknown'
          END AS [Professionals]
   FROM [MyHospitalTable]
 ) a
GROUP BY [myDate]

我知道我的查询不正确,需要改进,如果有人可以帮助我获取数据,那就太好了。

提前致谢。

【问题讨论】:

  • 请描述当前查询的不良结果或任何错误。如果查询返回您的所需结果,则查询是正确的。

标签: sql tsql date percentage case-when


【解决方案1】:

您可以使用窗口函数计算总计并找到百分比。

下面给你一个想法如何做到这一点。但它与您的表不完全兼容。

;with ct as (
    select MyDate, sum(Visits) Visits
      , count(Visits) over (partition by MyDate order by MyDate) TotalVisits
    from HospitalTable
    group by MyDate
)
select MyDate, Visits, (Visits * 100 / TotalVisits)
from ct

【讨论】:

    猜你喜欢
    • 2011-09-29
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    相关资源
    最近更新 更多