34,590
社区成员
发帖
与我相关
我的任务
分享
2000
DECLARE @T TABLE (a INT,b INT)
INSERT INTO @T
SELECT 1,10 UNION ALL
SELECT 2,20 UNION ALL
SELECT 3,30 UNION ALL
SELECT 4,40 UNION ALL
SELECT 5,50
select
'>'+t.col as col,count(t2.a) as con
from
(select '20' as col union all select '40' as col)t
cross join
@T t2
where t.col<t2.b
group by t.col
select distinct a='>20', cnt=(select count(*) from tb where b>20)
from tb
union all
select distinct '>40',cnt=(select count(*) from tb where b>40)
from tb
a cnt
---- -----------
>20 3
>40 1
(2 行受影响)
DECLARE @T TABLE (a INT,b INT)
INSERT INTO @T
SELECT 1,10 UNION ALL
SELECT 2,20 UNION ALL
SELECT 3,30 UNION ALL
SELECT 4,40 UNION ALL
SELECT 5,50
select '20' a,(select COUNT(1) from @T where b>20) b
union all
select '40' a,(select COUNT(1) from @T where b>40) b
去掉等於
DECLARE @T TABLE (a INT,b INT)
INSERT INTO @T
SELECT 1,10 UNION ALL
SELECT 2,20 UNION ALL
SELECT 3,30 UNION ALL
SELECT 4,40 UNION ALL
SELECT 5,50
;with c
as
(
SELECT
[>40]=sum(CASE WHEN B>40 THEN 1 else 0 end),
[>20]=sum(case WHEN B>20 THEN 1 else 0 END)
FROM @T
)
select
Col,con
from
c
unpivot
(con for Col in([>40],[>20]) )t
(5 個資料列受到影響)
Col con
-------------------------------------------------------------------------------------------------------------------------------- -----------
>40 1
>20 3
(2 個資料列受到影響)
DECLARE @T TABLE (a INT,b INT)
INSERT INTO @T
SELECT 1,10 UNION ALL
SELECT 2,20 UNION ALL
SELECT 3,30 UNION ALL
SELECT 4,40 UNION ALL
SELECT 5,50
;with c
as
(
SELECT
[>40]=sum(CASE WHEN B>40 THEN 1 else 0 end),
[>20]=sum(case WHEN B>=20 THEN 1 else 0 END)
FROM @T
)
select
Col,con
from
c
unpivot
(con for Col in([>40],[>20]) )t
(5 個資料列受到影響)
Col con
-------------------------------------------------------------------------------------------------------------------------------- -----------
>40 1
>20 4
(2 個資料列受到影響)
DECLARE @TB TABLE(a INT, b INT)
INSERT @TB
SELECT 1, 10 UNION ALL
SELECT 2, 20 UNION ALL
SELECT 3, 30 UNION ALL
SELECT 4, 40 UNION ALL
SELECT 5, 50
SELECT SUM(CASE WHEN B>20 THEN 1 ELSE 0 END) AS [>20],
SUM(CASE WHEN B>40 THEN 1 ELSE 0 END) AS [>50]
FROM @TB