首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

急高手一个存储过程的有关问题

2012-03-26 
急!请教各位高手一个存储过程的问题!在一个数据表A中,包含了汽车品牌ID,汽车品牌,系列,说明,消费者数量,等

急!请教各位高手一个存储过程的问题!
在一个数据表A中,包含了汽车品牌ID,汽车品牌,系列,说明,消费者数量,等字段。现在我想求出各种品牌车子在消费者中各占的比例。是不是应该各种品牌车子所占的数量分别除以所有车子的总数。我该如何将品牌、系列、说明、各自所占的百分比显示出来。请高手帮帮忙!

[解决办法]
Declare @t int
Select @t=sum(消费者数量) from tbA

Select 汽车品牌,系列,说明,
百分比=rtrim(cast(sum(消费者数量)/@t*100 as decimal(18,2)))+ '% '
from tbA group by 汽车品牌,系列,说明

[解决办法]
create table a (汽车品牌ID char(3) not null primary key,汽车品牌 varchar(50),系列 varchar(30),
说明 varchar(100),消费者数量 int)
go
insert a values( '001 ', ' ', ' ', ' ',10)
insert a values( '002 ', ' ', ' ', ' ',20)
insert a values( '003 ', ' ', ' ', ' ',30)
insert a values( '004 ', ' ', ' ', ' ',40)
insert a values( '005 ', ' ', ' ', ' ',510)
insert a values( '006 ', ' ', ' ', ' ',60)
insert a values( '007 ', ' ', ' ', ' ',70)
insert a values( '008 ', ' ', ' ', ' ',80)
go
select * from a
go
declare @t int
select @t=sum(消费者数量) from a
select 汽车品牌ID,汽车品牌,系列,说明,消费者数量,cast((消费者数量*100)/@t as varchar(10))+ '% '
from a
order by 汽车品牌ID
[解决办法]
-- 都为 0%是你的“消费者数量”字段为整形 ,改为:

Declare @t int
Select @t=sum(消费者数量) from 表

Select 汽车品牌ID,汽车品牌,系列,说明,
百分比=rtrim(cast(sum(消费者数量)*100.0/@t as decimal(18,2)))+ '% '
from 表 group by 汽车品牌ID,汽车品牌,系列,说明

热点排行
Bad Request.