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中的表去重,解決問題。
