使用子查询计算特定行

Ada*_*McC 0 sql sql-server

我有一个查询,我用于报告.每行是包含病史的一行数据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)

Pet*_*ang 6

它应该足以用于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)