CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如何求一个表中整型字段的平均数,得到一个浮点数

楼主cxz7531(大花猫)2003-08-02 21:30:16 在 MS-SQL Server / 基础类 提问

我有一个表Person,其中一个字段是sm,含义是人数,类型是整型。现在我想求该字段的平均值,如果用如下语句来求:  
  SELECT   AVG(sm)   FROM   Person  
  只能得到一个整型数,本来平均人数应该是4.65,却变成了5。而我希望得到小数。请问怎么得到?? 问题点数:50、回复次数:5Top

1 楼zjcxc(邹建)回复于 2003-08-02 21:37:22 得分 45

用这个就可以了:  
   
  SELECT   AVG(cast(sm   as   decimal(20,4)))   FROM   PersonTop

2 楼zjcxc(邹建)回复于 2003-08-02 21:38:54 得分 0

因为整型计算的结果还是为整型  
   
  所以,你先将它转换成实型再求平均就可以了.  
   
   
  Top

3 楼zjcxc(邹建)回复于 2003-08-02 21:39:04 得分 0

decimal(20,4)   是保留4位小数,如果你的小数位数要求为2位,就用:  
   
  SELECT   AVG(cast(sm   as   decimal(20,2)))   FROM   Person  
  Top

4 楼Rivulet119(黑眼睛)回复于 2003-08-02 21:44:15 得分 0

最直观的方法:  
   
  declare     @i   float,  
                    @j   float,  
                    @n   float  
  select   @i=count(*)     from   person  
  select   @j=sum(sm)     from   person  
  set     @n=@j/@i  
   
  只有@n肯定可以带小数了。Top

5 楼Rivulet119(黑眼睛)回复于 2003-08-02 21:48:57 得分 5

不过用zjcxc(周建)的方法更简捷。星星就是星星,学习ing~~~Top

相关问题

  • 请问能不能 约束 一个 整型 或 浮点 类型 字段 的 最小值 或 最大值 ????????
  • 请问使用VC开发ADO数据库程序时,如何获得字段类型为整型或浮点型的数据?
  • Access 2000 的浮点小数字段
  • 在windows2000 下insert into 整型字段问题?
  • 使用ADO写浮点数据字段时的奇怪问题
  • 网格中的浮点型字段显示问题,求助!
  • 请问access把浮点字段取整是什么函数?急
  • Visual C# .Net中 如何获取整型数据库字段?
  • 如何在oracle中定义一个整型的字段
  • 弱问:浮点运算和整型运算的区别

关键词

  • 字段
  • 整型
  • 小数
  • sm
  • 得到
  • decimal
  • person
  • select avg

得分解答快速导航

  • 帖主:cxz7531
  • zjcxc
  • Rivulet119

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo