尝试将 2 个数除以 SQL

Trying to divide 2 count in SQL

在过去的 3 个小时里,我一直被困在一个查询上。 我必须将以下 2 个计数分开:

--Count the number of event hosted by each friend
SELECT friend_ID, COUNT(*) as TotalNumberOfEventHosted
FROM EVENT_
GROUP BY friend_id;

--Count the number of confirmed event
SELECT friend_ID, COUNT(*) as NbrOfConfirmedEvent
FROM EVENT_
NATURAL JOIN PROPOSED_DATE
WHERE IS_CONFIRMED = TRUE
GROUP BY FRIEND_ID ;

这是相应的屏幕截图:

但是,我无法进行除法,因为出现以下错误:子查询 returns 多于 1 行。

最后的目标是获得每个组织者的活动接受率(总数中经过验证的活动的数量)。因此,将 NbrOfConfirmedEvent 除以 TotalNumberOfEventHosted。

而且我无法合并这两个查询。有人有想法吗?

尝试将这 2 个查询放在 CTE 中,在主查询中将它们连接在一起并在那里进行除法

你想做什么?有一个包含三列的 table,一列包含 friend_ID,另一列包含托管事件,第三列包含确认事件?如果那是您尝试做的只是添加一个带有 CountIF() 或 SumIF() 的列,检查事件是否已确认

you could try using a left join on the two subquery 

    select a.friend_ID, a.TotalNumberOfEventHosted/b.NbrOfConfirmedEvent
    from  ( 
    SELECT friend_ID, COUNT(*) as TotalNumberOfEventHosted
    FROM EVENT_
    GROUP BY friend_id) a 
    left join ( 
        SELECT friend_ID, COUNT(*) as NbrOfConfirmedEvent
        FROM EVENT_
        NATURAL JOIN PROPOSED_DATE
        WHERE IS_CONFIRMED = TRUE
        GROUP BY FRIEND_ID 
    ) b on a.friend_ID = b.friend_ID;