gpt4 book ai didi

mysql - 无论用户是否存在,表字段的 SUM

转载 作者:行者123 更新时间:2023-11-29 14:22:58 25 4
gpt4 key购买 nike

我有一个脚本可以在简单的成就类型脚本中计算用户积分,然后按顺序将它们显示在网页上。我有以下 mySQL 函数,但如果用户还没有任何点(即没有找到“pa.userid”,则根本不会获取用户)

SELECT u.userid,
SUM(IF(pa.plus = '1', pa.points_amount, 0)) - SUM(IF(pa.plus = '0', pa.points_amount, 0)) AS points
FROM awarded_points pa,
users u WHERE u.userid = pa.userid
GROUP BY u.userid
ORDER BY points DESC
LIMIT 10

我如何使上述代码包含尚未获得任何积分的用户?这是一个复杂的改变吗?

最佳答案

使用左外连接

SELECT u.userid,
SUM(IF(pa.plus = '1', pa.points_amount, 0)) - SUM(IF(pa.plus = '0', pa.points_amount, 0)) AS points
FROM users u
LEFT OUTER JOIN awarded_points pa ON u.userid = pa.userid
GROUP BY u.userid
ORDER BY points DESC
LIMIT 10

看到great explanation of joins

关于mysql - 无论用户是否存在,表字段的 SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11471501/

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