declare @c int
select @c=count(1) from t
select bb,convert(decimal(10,3),count(1))/convert(decimal(10,3),@c) as 出现次数 from t group by bb
用一个sql语句写出来。
下面是测试数据:
create table t(aa int,bb int)
insert into t(aa,bb)
select 1,1 union all
select 2,1 union all
select 3,2 union all
select 4,2 union all
select 5,1 union all
select 6,2 union all
select 7,1 union all
select 8,3 union all
select 9,1 union all
select 12,3/* 求SQL语句,把下面三行转换为1行
declare @c int
select @c=count(1) from t
select bb,convert(decimal(10,3),count(1))/convert(decimal(10,3),@c) as 出现次数 from t group by bb*/
drop table t

解决方案 »

  1.   

    select bb,convert(decimal(10,3),count(1))/convert(decimal(10,3),(select col = count(1) from t)) as 出现次数 from t group by bb
      

  2.   

    create table t(aa int,bb int)
    insert into t(aa,bb)
    select 1,1 union all
    select 2,1 union all
    select 3,2 union all
    select 4,2 union all
    select 5,1 union all
    select 6,2 union all
    select 7,1 union all
    select 8,3 union all
    select 9,1 union all
    select 12,3-- 求SQL语句,把下面三行转换为1行
    select bb,convert(decimal(10,3),count(1))/convert(decimal(10,3),(select count(1) from t)) as 出现次数 from t group by bb
    drop table t