mysql - mysql 结果总数和总和错误

标签 mysql

我们有以下三个不同的表格...

用户

ID, 用户名 密码 电子邮件

user_clubs

ID, 用户身份, 俱乐部名称

销售

ID, 俱乐部 ID, 数量, 管理费用, dnt

我们希望获得 user_id 未支付的 admin_fees 总和(例如 55),因此我们尝试了以下操作...

SELECT u.id, count(c.id), SUM(s.admin_fees) as total_admin_fees 
FROM users u
LEFT JOIN user_clubs c ON c.user_id = u.id
LEFT JOIN sales s ON s.club_id = c.id
WHERE u.id = 55
GROUP BY u.id;

但其返回值是第一行,所以余额不正确,请帮忙解决。

最佳答案

试试这个:

SELECT   g.id, count(g.club_id), SUM(g.admin_fees) AS total_admin_fees 
FROM     (
            SELECT    u.id, c.id AS club_id, s.admin_fees
            FROM      users u
            LEFT JOIN user_clubs c ON c.user_id = u.id
            LEFT JOIN sales s ON s.club_id = c.id
            WHERE     u.id = 55
         ) AS g
GROUP BY g.id;

关于mysql - mysql 结果总数和总和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18476819/

相关文章:

mysql - 如何将 mysql 数据库转储转换为 postgresql?

mysql 多列索引不工作(如预期的那样)?

mysql - SQL 非常简单的嵌套查询

MySQL 计数选择查询条件

mysql - 连接mysql时出现Grails错误

mysql - UPDATE - 无法在 FROM 子句中指定更新目标表

mysql - 简单的 UPDATE 查询在 InnoDB 中比 MyISAM 花费更多时间

php - 如何保护您网站上的文件

php - 表单提交创建pdf并将数据保存到mysql数据库

java - java实现彩票系统实时从mysql获取记录