Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 计算查询中相同SELECT中的百分比_Sql_Sql Server_Tsql_Percentage - Fatal编程技术网

Sql 计算查询中相同SELECT中的百分比

Sql 计算查询中相同SELECT中的百分比,sql,sql-server,tsql,percentage,Sql,Sql Server,Tsql,Percentage,我试图在SQL数据库中的表查询中计算同一SELECT中的百分比 在下表中,第3列的功能是将第2列***159731748209+194718266487=1783035749***的总和除以相应行的值。如果是第1行,则除以159131748209,但我仍然不能,有人能帮我吗?事先非常感谢 我想你应该使用窗口求和函数 SELECT Tab_Dados_Escolha.Parametro , SUM(Tab_Dados_Escolha.Metrica) AS Metrica , SU

我试图在SQL数据库中的表查询中计算同一SELECT中的百分比

在下表中,第3列的功能是将第2列***159731748209+194718266487=1783035749***的总和除以相应行的值。如果是第1行,则除以159131748209,但我仍然不能,有人能帮我吗?事先非常感谢

我想你应该使用窗口求和函数

SELECT Tab_Dados_Escolha.Parametro
    , SUM(Tab_Dados_Escolha.Metrica) AS Metrica
    , SUM(Tab_Dados_Escolha.Metrica)/SUM(Tab_Dados_Escolha.Metrica) OVER (PARTITION BY Tab_Dados_Escolha.Parametro) AS Porcentagem
FROM Tab_Dados_Escolha
WHERE (Tab_Dados_Escolha.E3TimeStamp >= #<%inicio%># AND Tab_Dados_Escolha.E3TimeStamp <= #<%fim%>#) 
GROUP BY Tab_Dados_Escolha.Parametro;
我想你应该使用窗口求和函数

SELECT Tab_Dados_Escolha.Parametro
    , SUM(Tab_Dados_Escolha.Metrica) AS Metrica
    , SUM(Tab_Dados_Escolha.Metrica)/SUM(Tab_Dados_Escolha.Metrica) OVER (PARTITION BY Tab_Dados_Escolha.Parametro) AS Porcentagem
FROM Tab_Dados_Escolha
WHERE (Tab_Dados_Escolha.E3TimeStamp >= #<%inicio%># AND Tab_Dados_Escolha.E3TimeStamp <= #<%fim%>#) 
GROUP BY Tab_Dados_Escolha.Parametro;

以下是如何使用窗口功能进行此操作:

SELECT
  Tab_Dados_Escolha.Parametro,
  sum(Tab_Dados_Escolha.Metrica) As Metrica,
  sum(Tab_Dados_Escolha.Metrica) * 100.0 / sum(sum(Tab_Dados_Escolha.Metrica)) over() As Porcentagem
FROM Tab_Dados_Escolha
WHERE    
   Tab_Dados_Escolha.E3TimeStamp >= #<%inicio%>#  
   AND Tab_Dados_Escolha.E3TimeStamp <= #<%fim%># 
GROUP BY Tab_Dados_Escolha.Parametro

以下是如何使用窗口功能进行此操作:

SELECT
  Tab_Dados_Escolha.Parametro,
  sum(Tab_Dados_Escolha.Metrica) As Metrica,
  sum(Tab_Dados_Escolha.Metrica) * 100.0 / sum(sum(Tab_Dados_Escolha.Metrica)) over() As Porcentagem
FROM Tab_Dados_Escolha
WHERE    
   Tab_Dados_Escolha.E3TimeStamp >= #<%inicio%>#  
   AND Tab_Dados_Escolha.E3TimeStamp <= #<%fim%># 
GROUP BY Tab_Dados_Escolha.Parametro

请不要将图像用于数据-使用格式化文本。请扩展您的示例数据并显示预期结果,这样您的问题就很清楚了,文字很难解释数据。请不要将图像用于数据-使用格式化文本。请扩大你的样本数据,并展示预期结果,这样你的问题就清楚了——用词很难解释数据。