问题描述
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;
如果您不想在hading子句中使用BETWEEN
,则可以将两个不等式放在一起:
HAVING COUNT(*) >= 2 AND COUNT(*) <= 5;
,
您可以尝试以下方法:
select patientid,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;