尝试将 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;
在过去的 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;