请教一个SQL的除法过程----在线等

jia19861029 2010-03-25 02:18:42
数据库为:sql server2000
SQL语句为:
select distinct pname,
(select count(*) from baseinfo as a where (jjgz='1' or jjgz='2') and a.pname=b.pname ) as count1,
(select count(*) from baseinfo as a where a.pname=b.pname ) as count2 ,

(select count(*) from baseinfo as a where (jjgz='1' or jjgz='2') and a.pname=b.pname )/
(select count(*) from baseinfo as a where a.pname=b.pname ) as count3
from baseinfo as b order by count1 desc

得到的结果为:
pname count1 count2 count3
张三 1101 1104 0



如何让count3有小数点后四位或者更多呢?如何给count3加上“%”号呢?
...全文
416 8 打赏 收藏 转发到动态 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jia19861029 2010-03-30
  • 打赏
  • 举报
回复
问题解决了.除错了,谢谢楼上各位,谢谢谢谢.
jia19861029 2010-03-30
  • 打赏
  • 举报
回复
恩好了,
jia19861029 2010-03-30
  • 打赏
  • 举报
回复
回5楼:
当遇到除零呢?
Callsin 2010-03-25
  • 打赏
  • 举报
回复
给你一个思路,你先试试~~



select Convert(varchar,convert(decimal(15,5),(convert(float,count1 )/count2 *100)) )+'%'

pjw100 2010-03-25
  • 打赏
  • 举报
回复
1.定义变量
2.count1,count2都转成decimal类型后相除
3.略
BearKin 2010-03-25
  • 打赏
  • 举报
回复
justwalking 2010-03-25
  • 打赏
  • 举报
回复
放到sql版里去问问
  • 打赏
  • 举报
回复
应该有专门的操作函数吧?sql server的不是很清楚
相关推荐

62,567

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告