簡體   English   中英

用GROUP BY計算COUNT的百分比

[英]Calculating Percentage of COUNT with GROUP BY

這是兩個表和唯一與該問題有關的列。

郵寄M
m_id:三種郵件類型中的每一種的ID

郵件接收MR
u_id:收到郵件的人的ID m_id:FK

我已成功創建此查詢

SELECT 
    m.m_id AS 'Mailing Type',
    COUNT(mr.u_id) AS 'Mailings Received'
FROM mailing m 
Left join
mailing_received mr
ON mr.m_id = m.m_id
GROUP BY m.m_id

它返回一個看起來像這樣的表

Mailing Type     Mailings Received
1                500
2                350
3                600

太棒了 真。 但是,我試圖返回第三列,該列告訴您按郵件類型接收的郵件百分比,並且進展不順利。 到目前為止,這是我在子查詢中嘗試過的內容:

SELECT
m.m_id,
u_id * 100/ (SELECT COUNT(*) FROM mailing_received) AS "PERC REC"
FROM mailing m
LEFT JOIN
mailing_received mr
ON
m.m_id = mr.m_id
GROUP BY m.m_id;

沒有骰子。

編輯: u_id通過COUNT和GROUP BY函數分為三行。 我不知道當返回行被分割時如何創建百分比列。

這應該工作:

SELECT 
    m.m_id AS "Mailing Type",
    COUNT(mr.u_id) AS "Mailings Received",
    COUNT(mr.u_id) / (SELECT COUNT(*) FROM mailing_received) AS "PERC REC"
FROM mailing m 
Left join mailing_received mr
       ON mr.m_id = m.m_id
GROUP BY m.m_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM