将组百分比计算为2位小数 – SQL
发布时间:2020-12-12 08:55:59 所属栏目:MsSql教程 来源:网络整理
导读:我有以下查询: SELECT hostVersion,CONVERT(varchar,100.0 * count(*) / tot,1) + '%' as 'Percent'FROM hostInfo,(SELECT COUNT(*) as tot FROM hostInfo) xGROUP BY hostVersion,tot 并收到以下输出: +--------------------------------+| hostVersion |
我有以下查询:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |