日期:2014-05-18  浏览次数:20459 次

求一个复杂的 分组比较求和 的SQL
假设有字段A   B   C,都是数值。
需要按A字段分组,然后求出每组中B> C的个数


------解决方案--------------------

create table T(A int, B int, C int)
insert T select 1, 2, 3
insert T select 1, 4, 2

insert T select 2, 5, 3
insert T select 2, 6, 3

insert T select 3, 2, 3


select A, [B> C的个数]=sum(case when B> C then 1 else 0 end) from T group by A

--result
A B> C的个数
----------- -----------
1 1
2 2
3 0

(3 row(s) affected)