gpt4 book ai didi

mysql - 加入 3 个表时计数错误

转载 作者:行者123 更新时间:2023-11-29 00:08:46 25 4
gpt4 key购买 nike

所以有一个在线博彩网站,我想统计每个用户的投注和获胜(他选择的选项是正确的/获胜者未获胜投注 -> 每个投注可能有很多选项)

这是我的表的简化结构

users            : id  , username , email 
user_bets : id , user_id , date , amount
user_bets_options: id , bet_id , user_id , status

这是我的查询,基本上它得到一个用户,计算他的赌注并计算他从第三张表中获胜的选择

SELECT `users`.*,     
count(`user_bets`.`id`) as bets,
count(`user_bets_options`.`id`) as wins
FROM `users`
LEFT JOIN `user_bets` ON `user_bets`.`user_id` = `users`.`id`
LEFT JOIN `user_bets_options` ON `user_bets_options`.`user_id` = `users`.`id`
and `user_bets_options`.`status` = 1
WHERE `email` = 'mymail@yahoo.com'
GROUP BY `users`.`id` LIMIT 10

所以如果我分别计算获胜和投注(分别加入用户表),这个用户大约有 94 次投注和 53 次获胜,这是正确的

但是当我计算使用上面的查询并将所有 3 个表连接在一起时,两者都是 4982!

最佳答案

加入 user_bet_options 时尝试加入 bet_id 而不是 user_id。那么获胜计数应该是正确的。

关于mysql - 加入 3 个表时计数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26222958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com