在两个数字之间使用 having count 原因,所以我可以在 having count 子句中使用范围

Using having count cause between two numbers, so I can use a range inside the having count clause

select patientid, illnessid, count(1) as myrange    
from database (nolock)    
where diagnosetime between '2020-08-27' and '2020-08-28'    
group by PJMBatchId, PJMCltId
HAVING COUNT(*) >= 2;
having count (*) >= 5;

所以我想结合我的计数,这样它可以计数在 2 到 5 之间,有没有办法做到这一点,

使用BETWEEN:

SELECT patientid, illnessid, COUNT(1) AS myrange
FROM database (nolock)
WHERE diagnosetime BETWEEN '2020-08-27' AND '2020-08-28'
GROUP BY PJMBatchId, PJMCltId
HAVING COUNT(*) BETWEEN 2 AND 5;

如果您不想在 having 子句中使用 BETWEEN,您可以将两个不等式放在一起:

HAVING COUNT(*) >= 2 AND COUNT(*) <= 5;

你可以试试这个:

select patientid, illnessid, count(1) as myrange    
from database (nolock)    
where diagnosetime between '2020-08-27' and '2020-08-28'        
group by PJMBatchId, PJMCltId
HAVING COUNT(myrange) BETWEEN 2 AND 5;