我正在嘗試生成一個MySQL表,其中包含一列顯示一個計數與另一個計數相同的百分比。總體而言,我想將以下兩個查詢合併爲一個顯示百分比而不是顯示計數的查詢。下面是這兩個疑問:計算MySQL查詢中的百分比
SELECT machine, COUNT(machine)
FROM rtcdb.session
WHERE project = "CSC032"
AND (qc_gsr = 'green'
AND qc_hr = 'green'
AND qc_acz = 'green'
AND qc_bre = 'green'
)
GROUP BY machine;
&
SELECT machine, COUNT(machine)
FROM rtcdb.session
WHERE project = "CSC032"
GROUP BY machine;
有場景中的第一個查詢會產生小於第二行 - 當有沒有任何成功的機器(果嶺出現這種情況)。我如何將這些查詢合併爲一個計算所有成功機器的百分比(本質上,成功率),並將其顯示在自己的列中?
感謝您的幫助,真的很感激。您所寫的查詢將我置於正確的方向,但不幸的是計算出不準確的值(我不確定的原因)。看起來你的查詢正在產生比實際應該高得多的百分比。例如,與其中一臺機器的green_nb計數相比,它提出了11,這是該機器的總計數。看起來green_nb的數字會出現一個總數等於或略低於總數的數字。有任何想法嗎? – jakelaz
也許你應該使用'DISTINCT'。但是我不明白的是,如果你通過'machine'來計算'machine'和group,它應該總是返回1.你能提供一個[SQLFiddle](http://sqlfiddle.com/)嗎? –
我想通了!這是我現在有: – jakelaz