重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

sqlserver求占比,sqlserver 百分比

SQLSERVER数据库求每列不同数据所占百分比

标准答案:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、天心网站维护、网站推广。

declare @ACount int

select @ACount=count(*) from 表 --计算总数,避免放在大数据的select中影响效率

if @ACount0 --判断是否有记录,无记录时@Acount为0,不能做除数

select 表.name,cast(count(*) as numeric(10,3))/cast(@ACount as numeric(10,3)) from 表 group by 表.name --做百分比时要避免直接用/,会整除的,就无法判断%比例了。

else

select '表中无记录,无法统计比例'

--小数点后保留三位,换算成%比,应该如12.5%的精确度,numeric(10,3)前面的10如果长度不够可以根据需要修改

用SQL查询占比?

sqlserver写法

创建表

create table test

(id int,

name varchar(1))

insert into test values (1,'a')

insert into test values (2,'a')

insert into test values (1,'a')

insert into test values (1,'a')

insert into test values (2,'a')

执行

select a.id,a.count1,(a.count1+0.0)/b.count2

from

(select id,count(*) count1 from test group by id) a,

(select count(*) count2 from test) b

Sqlserver怎么求一个数占总数的百分之几

select 12/23 * 100 ||'%' from dual;

mysql 服务器支持 # 到该行结束、-- 到该行结束 以及 /* 行中间或多个行 */ 的注释方格:

mysql SELECT 1+1; # 这个注释直到该行结束

mysql SELECT 1+1; -- 这个注释直到该行结束

mysql SELECT 1 /* 这是一个在行中间的注释 */ + 1;

mysql SELECT 1+

/*

这是一个

多行注释的形式

*/

1;

注意 -- (双长划) 注释风格要求在两个长划后至少有一个空格!

尽管服务器理解刚才描述的注释句法,但 MySQL 客户端的语法分析在 /* ... */ 注释方式上还有所限止:

单引号和双引号被用来标志一个被引用字符串的开始,即使是在一个注释中。如果注释中的引号没有另一个引号与之配对,那和语法分析程序就不会认为注释结束。如果你以交互式运行 mysql,你会产生困惑,因为提示符从 mysql 变为 ' 或 "。

一个分号被用于指出当前 SQL 语句的结束并且跟随它的任何东西表示下一行的开始。

不论你是以交互式运行 mysql 还是将命令放在一个文件中,然后以 mysql some-file 告诉 mysql 读取它的输入,这个限制均存在。

sqlserver 2000怎么计算累计百分比

--sql 2000

declare @tb table(row int identity(1,1),故障总成件 varchar(100),数量 int,占比 float)

insert into @tb select * from tb

select 故障总成件,数量,占比,累计百分比=(select sum(占比) from @tb t2 where t2.row=t1.row) from @tb t1

--sql 2005

with tc as(

select row=row_number()over(order by getdate()),* from tb

),

cte as(

select *,累计百分比=cast(占比 as decimal(28,3)) from tc where row=1 union all

select t.row,t.故障总成件,t.数量,t.占比,cast(c.累计百分比+t.占比 as decimal(28,3)) from tc t join cte c on t.row=c.row+1

)

select * from cte


标题名称:sqlserver求占比,sqlserver 百分比
标题路径:http://cqcxhl.com/article/hdipge.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP