用sql语句怎么计算 百分比 的数值呢? 求代码!

用一条sql语句比如说我数据表里面有一列数据数据是有800个会员有200个VIP请问我怎么用一条sql语句算出它得出会员%80或80VIP%20或20... 用一条sql语句 比如说我数据表里面有一列数据 数据是有800个会员 有200个VIP 请问我怎么用一条sql语句算出它得出会员%80 或80 VIP%20 或 20 展开
 我来答
mqst37_08
推荐于2018-04-12
知道答主
回答量:7
采纳率:0%
帮助的人:8.9万
展开全部

--建立测试表 testTable

create table testTable(id int identity(1,1),type nvarchar(8))

go

--循环插入测试语句

declare @a int

set @a=0

while (@a<100)

begin

if @a<80

insert into testTable(type)values('会员')

else

insert into testTable(type)values('vip')

set @a=@a+1

end

go

--查看插入表中的所有数据

select * from testTable

--查看你要看的的数据

select b.sumb%a.suma '会员占总人数的百分比(%)' 

from(select COUNT(*) suma from testTable) a,

(select COUNT(*) sumb from testTable where type='会员') b

select b.sumb%a.suma 'vip占总人数的百分比(%)' 

from(select COUNT(*) suma from testTable) a,

(select COUNT(*) sumb from testTable where type='vip') b

select b.sumb%a.suma '会员占总人数的百分比(%)',c.sumc%a.suma'vip占总人数的百分比(%)'

from(select COUNT(*) suma from testTable) a,

(select COUNT(*) sumb from testTable where type='会员') b,

(select COUNT(*) sumc from testTable where type='vip') c

--查看完删除测试表 testTable

drop table testTable

结果我已经看过了,如下图:

wangzhiqing999
2011-04-20 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3259万
展开全部
如果是透过一个 1000条数据, 通过一个 VIP_FLAG 这样的字段,来区分是否是 VIP 的。

SELECT
100 * SUM( CASE WHEN VIP_FLAG = 1 THEN 1 ELSE 0 END ) / COUNT(1)
FROM
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式