Sql 计算插入到两个表中的值之间的百分比

Sql 计算插入到两个表中的值之间的百分比,sql,sql-server,Sql,Sql Server,我有两个表,一个表包含我发送给某些人的所有电子邮件,另一个表包含我发送这些电子邮件后在我的网站上注册的所有人 我需要实现的是计算注册用户的百分比,因此目前我有以下内容: SELECT COUNT(*) from email_sent //10 SELECT COUNT(*) from registred_users //2 对于这个例子,我需要构建一个查询,它将返回20%,因为10个查询中的2个表示20% SELECT mailsSent , userA

我有两个表,一个表包含我发送给某些人的所有电子邮件,另一个表包含我发送这些电子邮件后在我的网站上注册的所有人

我需要实现的是计算注册用户的百分比,因此目前我有以下内容:

SELECT COUNT(*) from email_sent       //10   
SELECT COUNT(*) from registred_users  //2
对于这个例子,我需要构建一个查询,它将返回20%,因为10个查询中的2个表示20%

SELECT 
    mailsSent 
    , userAmount 
    , CONVERT(decimal(14,2), mailsSent) / CONVERT(decimal(14,2), userAmount) AS Percentage
FROM
    (SELECT COUNT(*) AS mailsSent from email_sent) a
    , (SELECT COUNT(*) AS userAmount from registred_users) b
基本上,这两个子查询将以2个别名列的形式获取原始值,然后可以从主查询中分割这些列

编辑:

显式转换的另一种方法是乘以1.0将值转换为数值。如我在评论中所述,实际上只需要1次转换:

SELECT 
    mailsSent 
    , userAmount 
    , mailsSent  * 1.0 / userAmount AS Percentage
FROM
    (SELECT COUNT(*) AS mailsSent from email_sent) a
    , (SELECT COUNT(*) AS userAmount from registred_users) b

@请查看已编辑的查询。基本上,我们将两个值都转换为十进制(只需要第二个值,但我更喜欢保持一致),然后进行除法。我还为你在专栏上加了别名:)请把我的答案也看一遍。我刚刚创建了示例表。