![](/img/trans.png)
[英]SQL Server 2008 Count in Case statement yielding same result with different parameters
[英]SQL Server 2008 case statement to count records and not another record with same date but different result
我需要计算ID和ID的数量,其中ID和Eventname在同一日期的值可以具有“接受”或“拒绝”。 我该如何写一个case语句仅使用'Accept'值? 我已经尝试了许多方法,但仍算在内。 仍会计算“拒绝”记录。 任何帮助是极大的赞赏。
下面的例子:
select th.NAME,
COUNT(distinct th.HICN_CD) AS HICN_COUNT,
case th.EVENTNAME
when 'accept' then 'Accept'
when 'reject' then 'Reject' ELSE 'N/A'
END AS Event_Name
from #temp_hicn th
left join #temp_maxdate tm
on tm.HICN_CD = th.HICN_CD
group by th.NAME,
th.EVENTNAME
order by th.NAME ;
听起来您想要条件聚合:
select th.NAME, COUNT(distinct th.HICN_CD) AS HICN_COUNT ,
sum(case th.EVENTNAME when 'accept' then 1 ELSE 0 END) AS NumAccept
from #temp_hicn th left join
#temp_maxdate tm
on tm.HICN_CD = th.HICN_CD
group by th.NAME
order by th.NAME;
如果要计算HICN_CD
接受的不同值:
select th.NAME,
COUNT(distinct case th.EVENTNAME when 'accept' then th.HICN_CD end) AS HICN_COUNT ,
sum(case th.EVENTNAME when 'accept' then 1 ELSE 0 END) AS NumAccept
from #temp_hicn th left join
#temp_maxdate tm
on tm.HICN_CD = th.HICN_CD
group by th.NAME
order by th.NAME;
从#TEMP_HICN TH左联接#TEMP_MAXDATE TM ON TM.HICN_CD = TH.HICN_CD和TM.MAX_DATE = TH.MAX_DATEID GROUP BY TH.MEDICARE_HICN_CD中选择DISTINCT TH.HICN_CD,TH.NAME,TH.EVENTNAME,TM.MAX_DATE进入#TEMP_ACCEPT ,TH.NAME,TH.EVENTNAME,TM.MAX_DATE;
从#TEMP_HICN TH左联接#TEMP_MAXDATE TM ON TM.HICN_CD = TH.HICN_CD和TM.MAX_DATE = TH.MAX_DATEID THHER_EVENTNAME =的位置,从#TEMP_HICN中选择TH.MEDICARE_HICN_CD,TH.NAME,TH.EVENTNAME,TM.MAX_DATE到#TEMP_REJECT TH.HICN_CD,TH.NAME,TH.EVENTNAME,TM.MAX_DATE不在“ REJECT”和TH.HICN_CD + TH.NAME不在(从#TEMP_ACCEPT选择HICN_CD +名称)组中;
SELECT * INTO #TEMP_EVENT FROM #TEMP_ACCEPT UNION SELECT * FROM #TEMP_REJECT;
使用EVENT_DUP AS(选择DISTINCT HICN_CD,名称,COUNT( )作为HICN_CD中来自#TEMP_EVENT GROUP的“事件”,名称具有COUNT( )> 1)从#TEMP_EVENT中删除HICN_CD +名称输入(选择HICN_CD +名称和事件) MAX_DATE IS NULL;
从#TEMP_EVENT EV LEFT JOIN #TEMP_MAXDATE TM ON TM.HICN_CD = EV.HICN_CD GROUP BY EV.NAME选择EV.NAME,EV.EVENTNAME,COUNT(DISTINCT EV.HICN_CD)作为HICN_COUNT;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.