SQL Server中协助计算百分比

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中协助计算百分比相关的知识,希望对你有一定的参考价值。

DBMS:SQL Server

我正在尝试计算某种语言用于字幕的百分比,为此,我试图从数据库中检索一种语言被使用的次数

我要进行的计算是:字幕使用的语言/字幕使用的总数* 100

我的猜测是,在我的SELECT语句中,我需要以其他方式来检索值,但似乎无法弄清楚如何。

这是我到目前为止的“有效”查询,它显示一种语言用于字幕的次数:

-- Sorted language count / total used languages * 100
SELECT DISTINCT [language].name AS "Taal", COUNT(*) AS "Percentage"
FROM [profile]
INNER JOIN [watched_media] ON [watched_media].profileid = [profile].profile_ID
INNER JOIN subtitles ON [watched_media].subtitlesid = [subtitles].subtitles_ID
INNER JOIN language ON [language].language_ID = [subtitles].languageid
GROUP BY [language].name;

这是我一开始尝试的结果,但结果只有0:

SELECT DISTINCT [language].name AS "Taal", COUNT(*) / (SELECT COUNT(watched_media_ID) FROM [watched_media]) * 100 AS "Hoevaak gebruikt"
FROM [profile]
INNER JOIN [watched_media] ON [watched_media].profileid = [profile].profile_ID
INNER JOIN subtitles ON [watched_media].subtitlesid = [subtitles].subtitles_ID
INNER JOIN language ON [language].language_ID = [subtitles].languageid
GROUP BY [language].name;

这是我的第一个查询的结果:

“结果图像”“>

DBMS:SQL Server,我正在尝试计算某种语言用于字幕的次数的百分比,为此,我试图从数据库中检索一种语言被使用的次数...

答案

SQL Server执行整数除法,因此0/10而不是0.5。一个简单的解决方案是:

以上是关于SQL Server中协助计算百分比的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver 里怎么求百分比

SQL Server 使用窗口函数计算 AVG()

缺少 SQL SERVER 2014 代码片段

Microsoft SQL Server 代码片段收集

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

如何在 SQL Server 中查询相似度百分比?