小编sUP*_*sUP的帖子

使用左联接进行一对多计数会在源表上计数错误

我有两个桌子user_resultsuser_shares

user_results 拥有:

id - pk
platform - string
country - string
created_at - timestamp
Run Code Online (Sandbox Code Playgroud)

user_shares 拥有:

id - pk
user_result_id - integer
created_at - timestamp
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

select 
    count(user_results.id) as results,
    count(user_shares.id) as shares,
    user_results.platform as platform 
from
    user_results
left join 
    user_shares on user_results.id = user_shares.user_result_id 
group by 
    platform
Run Code Online (Sandbox Code Playgroud)

这是带有模式和有问题的查询的sql小提琴:http : //sqlfiddle.com/#!9/739a3/2

现在,正如您在小提琴上看到的那样,每个平台我只有1个结果,但是results计数显示(我猜)“没有共享的结果计数+共享计数”

我做错了什么?

mysql count left-join

1
推荐指数
1
解决办法
921
查看次数

标签 统计

count ×1

left-join ×1

mysql ×1