34,838
社区成员




/* 测试数据
WITH v_a([Left],[Right],STD)AS(
SELECT 1.2,2.1,1 UNION ALL
SELECT 1.13,1.23,1 UNION ALL
SELECT 1.5,1.6,2 UNION ALL
SELECT 3.1,4.1,1 UNION ALL
SELECT 3.2,4.2,1 UNION ALL
SELECT 3.3,4.3,1 UNION ALL
SELECT 3.4,4.4,1 UNION ALL
SELECT 3.5,4.5,1 UNION ALL
SELECT 3.6,4.6,1 UNION ALL
SELECT 3.7,4.7,1 UNION ALL
SELECT 2.3,4.8,1
)
,v_b(STD,mv,nv)AS(
SELECT 1,3,4 UNION ALL
SELECT 2,5,6
)*/
select v_b.STD as [id],
round(avg(v_a.[Left]),2) as a,
sum(case when v_a.[Left] > v_b.mv then 1 else 0 end) as b
from v_b
JOIN v_a
ON v_a.STD = v_b.STD
GROUP BY v_b.STD
id a b
----------- --------------------------------------- -----------
1 2.840000 7
2 1.500000 0