Sql server 使用分区依据时,由case语句创建的列不按分组依据

Sql server 使用分区依据时,由case语句创建的列不按分组依据,sql-server,pivot,case,Sql Server,Pivot,Case,我正在做报告,我以前遇到过同样的问题,但问题解决了 在这里,我得到了同样的问题,这里几乎没有变化,我也需要分区 CASE WHEN MP.PT = 'OPD' THEN COUNT(MP.YN) OVER (PARTITION BY MP.PT,mp.tti ORDER BY mp.tti) END AS OPD, CASE WHEN MP.PT = 'IPD' THEN COUNT(MP.YN) OVER (PARTITION BY MP.PT,mp.tti ORDER BY mp

我正在做报告,我以前遇到过同样的问题,但问题解决了

在这里,我得到了同样的问题,这里几乎没有变化,我也需要分区

CASE WHEN MP.PT = 'OPD' THEN COUNT(MP.YN) OVER (PARTITION BY  MP.PT,mp.tti ORDER BY  mp.tti)   END AS OPD,
CASE WHEN MP.PT = 'IPD' THEN COUNT(MP.YN) OVER (PARTITION BY  MP.PT,mp.tti ORDER BY  mp.tti)   END AS IPD,
CASE WHEN MP.PT = 'A&E' THEN COUNT(MP.YN) OVER (PARTITION BY  MP.PT,mp.tti ORDER BY  mp.tti)   END AS EAC
结果应在同一行中,因为它们是single select的一部分,但它显示在多行中,并且不聚合

请尝试以下操作:

SUM(IIF(MP.PT = 'OPD', 1, 0)) OVER (PARTITION BY mp.tti)  AS OPD,
SUM(IIF(MP.PT = 'IPD', 1, 0)) OVER (PARTITION BY mp.tti)  AS IPD,
SUM(IIF(MP.PT = 'A&E', 1, 0)) OVER (PARTITION BY mp.tti)  AS EAC