select
sum(read_num) / sum(show_num) as fans_ctr
from
a,
b,
c
where a.author_id = b.author_id
and b.content_id = c.content_id
and a.fans_id = c.fans_id
SELECT
SUM(CASE WHEN a.fans_id = c.fans_id THEN read_num ELSE 0 END) / SUM(CASE WHEN a.fans_id = c.fans_id THEN show_num ELSE 0 END ) AS fans_ctr
FROM c
JOIN b USING (content_id)
JOIN a USING (author_id)
SELECT
CASE
WHEN SUM(show_num) > 0 THEN SUM(read_num) / SUM(show_num)
ELSE 0
END AS fans_ctr
FROM
c
JOIN b ON b.content_id=c.content_id
JOIN a ON b.author_id = a.author_id AND c.fans_id=a.fans_id
select
sum(read_num)/sum(show_num) as fans_ctr
from
c
where
(content_id,fans_id) in (
select
content_id,fans_id
from
a join b on a.author_id = b.author_id
)
注意连接两个字段,才能表示是粉丝操作
select
sum(read_num)/sum(show_num) fans_ctr
from b
left join c on c.content_id=b.content_id
left join a on a.author_id=b.author_id and a.fans_id=c.fans_id
where a.fans_id is not null
SELECT sum(read_num)/sum(show_num) fans_ctr FROM
(SELECT a.author_id, a.fans_id, b.content_id, c.show_num, c.read_num
FROM a join b on a.author_id = b.author_id
join c on b.content_id = c.content_id
WHERE a.fans_id = c.fans_id) ctr