mysql sum去重求和
select t.id, t.title, t.entry_form_id, GREATEST(MAX(t.gmt_create), MAX(t.gmt_modified)) AS shareReadTime, COALESCE(SUM(IF(t.rowNum = 1, t.share_num, 0)), 0) AS shareNum, count(DISTINCT t.user_id) as readNum, count(DISTINCT if(t.nickname is not null, t.user_id, null)) as clueNum, COALESCE(SUM(IF(t.rowNum2 = 1, t.view_num, 0)), 0) AS sumViewNum from (select t1.id, t1.title, t1.entry_form_id, t2.gmt_create, t3.gmt_modified, t3.share_num, ROW_NUMBER() OVER (PARTITION BY t3.`staff_id`,t3.`article_id` ORDER BY t3.id ) as rowNum, t2.view_num, t2.user_id, ROW_NUMBER() OVER (PARTITION BY t2.`user_id`,t2.`staff_id`,t2.`article_id`,t2.`day` ORDER BY t2.id ) as rowNum2, t4.nickname from article t1 left join user_article_view_log t2 on t1.id = t2.article_id left join staff_share_log t3 on t1.id = t3.article_id left join user_info t4 on t2.user_id = t4.id where t3.staff_id = #{staffId}) t GROUP BY t.id