我有2个表,一个表包含我发送给某些人的所有电子邮件,另一个表包含我向他们发送这些电子邮件后在我的网站中注册的所有人员。
我需要实现的是计算注册用户的百分比,所以现在我有了这个:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句