2014-08-27 112 views
1

我有兩個表格,一個表格包含我發送給某些人的所有電子郵件,另一個表格包含在我向他們發送這些電子郵件後在我的網站中註冊的所有人員。計算插入兩個表中的值之間的百分比

我需要實現的是計算的百分比FO網友認爲registred,所以現在我有這樣的:

SELECT COUNT(*) from email_sent  //10 
SELECT COUNT(*) from registred_users //2 

在這個例子中,我需要建立一個查詢女巫將返回20%,因爲2十分之一意味着20%。

回答

2
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 
+0

@paulalexandru請參閱編輯後的查詢。基本上我們將兩個值都轉換爲十進制(只有第二個值是必要的,但我更願意保持一致),然後進行除法。我也給你列了別名:) – SchmitzIT 2014-08-27 08:13:30

+0

請通過我的答案以及。 [這是我的回答](http://sqlfiddle.com/#!3/7eb98/1)。我剛創建了示例表。 – Wanderer 2014-08-27 08:16:36