第2个回答 2016-01-08
SQL Server把字段变为百分比显示代码:
create proc dbo.GetQueNumList
(@quenum as int)
as
begin
set nocount on;
declare @Row_count as int
select @Row_count=count(0) from B表 where QueNum=@QueNum
select
@QueNum as QueNum
,QueName
,cast((sum(case when Grade='A' then 1 else 0 end)*1.0/@QueNum) as numeric(5,2)) as 'A'
,cast((sum(case when Grade='B' then 1 else 0 end)*1.0/@QueNum) as numeric(5,2)) as 'B'
,cast((sum(case when Grade='C' then 1 else 0 end)*1.0/@QueNum) as numeric(5,2)) as 'C'
from
B表
where
QueNum=@QueNum
group by
QueNum
end
create proc dbo.GetQueNumList
(@quenum as int)
as
begin
set nocount on;
declare @Row_count as int
select @Row_count=count(0) from B表 where QueNum=@QueNum
select
@QueNum as QueNum
,QueName
,cast((sum(case when Grade='A' then 1 else 0 end)*100.0/@QueNum) as numeric(5,2)) as 'A'
,cast((sum(case when Grade='B' then 1 else 0 end)*100.0/@QueNum) as numeric(5,2)) as 'B'
,cast((sum(case when Grade='C' then 1 else 0 end)*100.0/@QueNum) as numeric(5,2)) as 'C'
from
B表
where
QueNum=@QueNum
group by
QueNum
end