Sql 如何根据两个查询的结果进行数学运算

Sql 如何根据两个查询的结果进行数学运算,sql,sql-server,subquery,Sql,Sql Server,Subquery,我必须检查每个查询的结果 第一个问题: SELECT [xcv], COUNT( * ) AS Total FROM [my_table] GROUP BY [xcv] 第二个问题: SELECT [xcv], COUNT( * ) AS Total FROM [my_table] WHERE=[result]='ok' GROUP BY [xcv] 我想做的是得到->[(第一次查询/第二次查询)*100]的值 我想要表格中每个[xcv]的结

我必须检查每个查询的结果

第一个问题:

SELECT  [xcv],  COUNT( * ) AS Total
  FROM [my_table]  
 GROUP BY [xcv]
第二个问题:

SELECT [xcv],  COUNT( * ) AS Total
      FROM [my_table]   
    WHERE=[result]='ok'
    GROUP BY [xcv]
我想做的是得到->[(第一次查询/第二次查询)*100]的值

我想要表格中每个[xcv]的结果

你知道我怎么做吗

谢谢大家

SELECT t1.[xcv], 
       (t1.total/t2.total)*100
  FROM (SELECT [xcv],  
               COUNT( * ) AS Total
          FROM [my_table]  
        GROUP BY 
               [xcv]
        ) t1 JOIN (
                   SELECT [xcv], 
                          COUNT( * ) AS Total
                     FROM [my_table]   
                    WHERE [result]='ok'
                    GROUP BY 
                          [xcv]
                   ) t2
                  ON t1.[xcv]=t2.[xcv]
我还从
WHERE=[result]='ok'
中删除了
=
符号-我认为您输入错误。

一个查询:

SELECT [xcv],
       (SUM(CASE 
                 WHEN [result] = 'ok' 
                      THEN 1 
                      ELSE 0 
                 END
           )/COUNT( * )
        ) * 100
  FROM [my_table]
GROUP BY [xcv]

谢谢,伙计,效果很好。我可以再添加一列,告诉我每个[xcv]在我的表中存在多少次吗?
t1。总计是该列。只需将其添加到主
选择