L_zgxn 2022-12-10 18:37 采纳率: 50%
浏览 41

mysql 左连接同一张表 sum求和数据翻倍

问题遇到的现象和发生背景

左连接同一张表 左表以userId分组 取出max(create_date) 最大时间的那一条
右表与之连接 通过 userid 和 create_date 连接

遇到的现象和发生背景,请写出第一个错误信息

sum求和后数据不对

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
    SELECT
       sum(t.total_money) as money
        FROM
        (
        SELECT
        member_id,
        max(create_date) AS create_date
        FROM
        member_balnace
        WHERE 1=1
        GROUP BY
        member_id
        ) a
        LEFT JOIN member_balnace t ON t.member_id = a.member_id
        AND t.create_date = a.create_date
        WHERE t.total_money > 0
运行结果及详细报错内容

求和数据为130亿

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

1条回答 默认 最新

  • wux_labs 2022-12-10 22:52
    关注

    不确定表结构及数据情况。请先确认表中数据情况,确认一下表中相同member_id,create_date,是否包含多条记录,虽然max(create_date)是一个值,但表中create_date=max(create_date)的可能存在多条记录。最好能提供表结构及样例数据。

    SELECT
            member_id,
            create_date,
            count(*)
     FROM
            member_balnace
    GROUP BY
            member_id,create_date
    

    根据member_id,create_date分组count(*)可能是大于1的。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月10日

悬赏问题

  • ¥15 mysql将查询的结果作为动态列名怎么实现
  • ¥50 python自动地图截图脚本
  • ¥15 悬赏一本书(内含Matlab代码)的书名、作者
  • ¥20 瑞萨RA4M1芯片刷写为arduino r4 minima
  • ¥15 前端vue跟后端java服务部署在线上阿里云服务器
  • ¥15 fastreport怎么判断当前页数
  • ¥15 Kylin-Desktop-V10-GFB-Release-JICAI_02- 2207-Build14-ARM64.iso有没有这个版本的系统啊
  • ¥15 能不能通过蓝牙将传感器数据传送到手机上
  • ¥20 100元python和数据科学实验项目
  • ¥15 根据时间在调用出列表