题目
SQLSERVER数据库求每列不同数据所占百分比
例如:
(列名)id name
1 a
2 a
3 b
4 b
5 c
……
id表示的是流水号,与问题无关.我想求的是name列中每个相同数据所占个数的比例,应该怎么样写查询语句啊?或者是有其他的好的方法也行(我是用C#做一个程序).因为name中数据个数非常多,而且种类也不止是a,b,c三种,所以请大家帮忙想想办法,
例如:
(列名)id name
1 a
2 a
3 b
4 b
5 c
……
id表示的是流水号,与问题无关.我想求的是name列中每个相同数据所占个数的比例,应该怎么样写查询语句啊?或者是有其他的好的方法也行(我是用C#做一个程序).因为name中数据个数非常多,而且种类也不止是a,b,c三种,所以请大家帮忙想想办法,
提问时间:2021-01-03
答案
declare @ACount int
select @ACount=count(*) from 表 --计算总数,避免放在大数据的select中影响效率
if @ACount>0 --判断是否有记录,无记录时@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如果长度不够可以根据需要修改
select @ACount=count(*) from 表 --计算总数,避免放在大数据的select中影响效率
if @ACount>0 --判断是否有记录,无记录时@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如果长度不够可以根据需要修改
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
- 1skate 变动名词
- 2①三心二意,眼花缭乱,日积月累,无济于事,饱经风霜,万紫千红,一叶障目.②实事求是,国色天香,疑神疑鬼,银钩铁画,锦绣河山,一言九鼎,秋风扫落叶,③春兰秋菊,病入膏肓,树碑立传,入木三分,头重脚轻,前
- 3一艘轮船在A、B两码头之间航行,顺水航行时需8小时,逆水航行需12小时
- 4雨水和径流会把地表的泥土带走,使土地受到( ),从而使地形,地貌发生( ).
- 5it takes me 20 minutes to go to school on foot from my house.
- 6送东阳马生序文末最能概括求学经验的句子是
- 7英语翻译
- 8已知cos(π-α)=- ,sin(π+β)= ;α,β ( π,2π) 则sin(α+β)和tan(α+β)的
- 9y= 200(x-8),0
- 10各种生物体内都含有大量的水,
热门考点
- 1层次分析法中如何求判断矩阵
- 2初中物理知识点大全
- 3如果地球的含氧量增加有没有可能出现巨型动植物呢?
- 4如图所示,在水平桌面上分别铺上粗糙程度不同的毛巾、棉布、玻璃,让小车自斜面顶端从静止开始滑下,
- 51000除以(125÷1.5)等于多少脱式
- 6酯化反应一般采用哪些方法促进平衡右移提高转化率
- 73分之根号3等于30加x分之X 求这个方程的解题步骤
- 8如果把某细胞的一个DNA分子进行标记,然后把它放在没有标记的培养基中培养,细胞连续进行6次有丝分裂,则含有标记的细胞占所有细胞的比例为( ) A.14 B.18 C.116 D.132
- 9一个水池装有甲乙丙三个进水管,开甲45分钟注满,开乙60分钟注满,开丙90分钟注满,三个进水管一起开,
- 10若函数f(x)=loga(1/x+1)(a>0 a≠1)………三道数学题