sql查询执行时间长,最后出错

xjreopfe  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(368)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

11个月前关门了。
改进这个问题

UPDATE member
SET member.usableSum = (SELECT usablesum
        FROM fundrecord
        WHERE (member.id= fundrecord.memberId) AND id IN (
        SELECT MAX(id)
        FROM [enter image description here][1]fundrecord
        GROUP BY memberId)
        )
jslywgbw

jslywgbw1#

我猜你想要:

UPDATE member m
    SET m.usableSum = (SELECT fr.usablesum
                       FROM fundrecord fr
                       WHERE m.id = fr.memberId
                       ORDER BY fr.id DESC
                       LIMIT 1
                      );

返回“最近的” usablesumfundrecord 对于每个成员。

goqiplq2

goqiplq22#

请使用 DISTINCT 在你的询问中,

UPDATE member
SET member.usableSum = (SELECT distinct usablesum
    FROM fundrecord
    WHERE (member.id= fundrecord.memberId) AND id IN (
    SELECT MAX(id)
    FROM [enter image description here][1]fundrecord
    GROUP BY memberId)
    )

如果您仍然面临相同的问题,那么您的子查询将返回多个值

相关问题