解决MySQL左联LIFT JOIN做求和数据出现重复数据。

Posted 区块链散户一枚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决MySQL左联LIFT JOIN做求和数据出现重复数据。相关的知识,希望对你有一定的参考价值。

SELECT
    GROUP_CONCAT( DISTINCT fa.nickname ),
    GROUP_CONCAT( DISTINCT ev.facility_id ),
    CONVERT (
        SUM( ev.income ),
    DECIMAL ( 10, 2 )) AS su,
    COUNT( ev.income ),
    GROUP_CONCAT( ev.income )
FROM
    every_day_income AS ev
    LEFT JOIN ( SELECT GROUP_CONCAT( DISTINCT nickname ) AS nickname, facility_id FROM facility GROUP BY facility_id ) AS fa ON ev.facility_id = fa.facility_id
GROUP BY
    ev.facility_id
ORDER BY
    su DESC

第一天写好的查寻语句,第一天可以用的,但今天用的时候,发现求和重复出现,导致数据错误。

网上查寻了,主要还是左联的时候,右边表中的数据有多条满足条件,导致左联的时候,左边的数据被重复计算多次。

根据碰到的情况,将右边表中的的数据进行去重,就是LEFT JOIN中的表去重,解决问题。

 

以上是关于解决MySQL左联LIFT JOIN做求和数据出现重复数据。的主要内容,如果未能解决你的问题,请参考以下文章

数据库Join查询:内联、左外联、右外联、取交集

mysql数据库左联的使用(一张数据库表关联到另外一张数据库表)

什么叫MYSQL内联表?还有左联和内联有什么区别

Linq 内联左联等

mysql中的联合查询(内联左联外联右联全联)

mysql中的联合查询(内联左联外联右联全联)