百分比累计不是100%的问题.

CACACACACA 2008-03-11 11:53:42
select mz as 民族, count(*) as 人数, (count(*)*100.0)/(select count(*) from #tmp) as 百分比
from #tmp


民族 人数 百分比
--------------------------------
无法统计 97 2.040000000000
土家族 15 .320000000000
羌族 2 .040000000000
回族 134 2.820000000000
彝族 1 .020000000000
维吾尔族 20 .420000000000
壮族 4 .080000000000
汉族 4407 92.800000000000
蒙古族 11 .230000000000
苗族 2 .040000000000
朝鲜族 25 .530000000000
黎族 1 .020000000000
满族 30 .630000000000


一共有4749条记录. 百分比的合计为99.99
怎么解决一下?




...全文
779 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CACACACACA 2008-03-11
  • 打赏
  • 举报
回复
有时候也会出现100.01%
CoffeeShop 2008-03-11
  • 打赏
  • 举报
回复
是有这个问题。
dawugui 2008-03-11
  • 打赏
  • 举报
回复
进位造成的.
w2jc 2008-03-11
  • 打赏
  • 举报
回复
四舍五入?
这种属于实数计算本身导致的误差...
pt1314917 2008-03-11
  • 打赏
  • 举报
回复

select mz as 民族, count(*) as 人数,
百分比=ltrim(cast((count(*)*100.0)/(select count(*) from #tmp) as numeric(5,2))+'%'
from #tmp
懒得去死 2008-03-11
  • 打赏
  • 举报
回复
这个不同的操作系统会产生不同的值
-狙击手- 2008-03-11
  • 打赏
  • 举报
回复
ROUND

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧