1.行转列 和 2. sql计算总记录条数和指定的条件字段的总个数

SELECT count(*) sumNumber,sum(case when iscm = '1' then 1 else 0 end ) cms FROM  ps_jg_person

sumNumber :总记录条数

cms :iscm字段值为'1' 的总个数

行专列sql

//行转列
// @sql_str = 是主体的sql语句
//@sql_col = 是动态要展示的列
DECLARE @sql_str VARCHAR(8000)
DECLARE @sql_col VARCHAR(8000)
SELECT @sql_col = ISNULL(@sql_col + ',','') +QUOTENAME([year])  from W_SJSJTB group by year ORDER BY [year] DESC
SET @sql_str = 'select * from W_SJSJTB pivot ( max([value]) for [year]  in ('+ @sql_col +')) a '
PRINT (@sql_str)
EXEC (@sql_str)



DECLARE @sql_str VARCHAR(8000)
DECLARE @sql_col VARCHAR(8000)
SELECT TOP 3 @sql_col = ISNULL(@sql_col + ',','') +QUOTENAME([year])  from W_SJSJTB group by year ORDER BY [year] DESC
SET @sql_str = '
select * from(
select b.jgdm,b.year,b.value,b.model_id,c.mc ,c.hc from W_SJSJTB b , W_SJMODEL c WHERE b.model_id = c.id and b.jgdm = ''420000001008'') d pivot ( max([value]) for [year]  in ('+ @sql_col +')) a ORDER BY hc '
PRINT (@sql_str)
EXEC (@sql_str)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值