加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

将组百分比计算为2位小数 – SQL

发布时间:2020-05-23 05:41:50 所属栏目:MsSql 来源:互联网
导读:我有以下查询: SELECT hostVersion, CONVERT(varchar, 100.0 * count(*) / tot,1) + % as PercentFROM hostInfo,(SELECT COUNT(*) as tot FROM hostInfo) xGROUP BY hostVersion, tot 并收到以下输出: +-----------------

我有以下查询:

SELECT hostVersion,CONVERT(varchar,100.0 * count(*) / tot,1)  + '%' as 'Percent'
FROM hostInfo,(SELECT COUNT(*) as tot FROM hostInfo) x
GROUP BY hostVersion,tot

并收到以下输出:

+--------------------------------+
| hostVersion | Percent          |
+--------------------------------+
|    5.0.0    | 26.666666666666% |
+--------------------------------+
|    5.1.0    | 73.333333333333% |
+--------------------------------+

如何舍入到小数点后1位? (即26.7%和73.3%)

解决方法

更好的转换选择是str()函数. (记录 here.)

此外,您可以使用窗口函数进行计算(假设您使用的是SQL Server 2005或更新版本).这是我的查询版本:

select hi.hostVersion,str(((100.0*count(*)) / sum(count(*)) over ()),5,2)+'%'
from hostInfo hi
group by hi.hostVersion

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读