云服务器网:购买云服务器和VPS必上的网站!

让MSSQL帮你求百分比!

SQL Server的数据库开发者常常斟酌怎样优雅的实现计算并显示百分比。其实它是一个十分简单的任务,只需要结合SQL中的几个函数就能够实现求百分比的功能。
在介绍SQL Server中求百分比的方法之前,让我们先来看一个简单的例子:一个表中共有100条记录,

SQL Server的数据库开发者常常斟酌怎样优雅的实现计算并显示百分比。其实它是一个十分简单的任务,只需要结合SQL中的几个函数就能够实现求百分比的功能。

在介绍SQL Server中求百分比的方法之前,让我们先来看一个简单的例子:一个表中共有100条记录,要求查出对应状态码为 1 的记录占总条数的百分比,可使用以下SQL语句:

“`sql

SELECT COUNT(*)*100.0/100 AS Percent

FROM TABLE

WHERE StatusCode= 1


从以上例子可以看出,求百分比的核心思路是先查询出满足条件的总条数,然后将它与指定总数之间做相除,最后乘以 100 作为百分比结果。

要求查询所有信息(包括状态码为1和不为1的),但只需要算出状态码为1的记录占比,那我们可使用“窗口函数”来完成,SQL以下:

```sql
SELECT *,COUNT(*) OVER() AS TotalNum,COUNT (*) OVER(WHERE StatusCode=1) AS AchievedNumber,
COUNT(*)*100.0/TotalNum AS Percent
FROMTABLE

通过窗口函数,我们将总条数和满足条件条数分别赋值给“TotalNum”和“AchievedNumber”,然后再按以上核心思路计算出百分比。

不单单只有以上两种方法,SQL Server还提供了文本函数`FORMAT`可以将百分比结果自动格式化,如:

“`sql

SELECT FORMAT (COUNT (*)*100.0/100, ‘0.00%’) AS Percent

FROM TABLE

WHERE StatusCode=1


以上就是MSSQL求百分比的基本方法,希望能对大家有所帮助。

本文来源:https://www.yuntue.com/post/97861.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注