我有一个查询,我用于报告.每行是包含病史的一行数据client_id,每个病史重复一次.
我正在分组client_id并总结他们的条件,但我想使用子查询来查找高于预设分数的任何条件.我当前的查询给了我整个表的总数,而不仅仅是具体的client_id.
有人可以帮我吗?谢谢!
在这里我的查询:
select
DATEADD(month, DATEDIFF(month, 0, taken_on), 0),
client_id,
count(hscore),
sum(hscore),
(select count(hscore)
from amexmedscreen
where hscore >= '3.5')
from amexmedscreen
group by taken_on, client_id`
Run Code Online (Sandbox Code Playgroud)
它应该足以用于CASE获取1相关的行,以及sum那些:
select
...
sum(hscore),
sum(CASE WHEN hscore >= 3.5 THEN 1 ELSE 0 END)
group by taken_on, client_id`
Run Code Online (Sandbox Code Playgroud)