select userid, diarybookname, count(distinct diarybookid), sum(case diarypublic when '公开' tehn 1 else 0 end), sum(case diaryid when not null then 1 else 0 end), sum(case commentid when not null then 1 else 0 end) from db01_diarybook a left join db02_diary b on a.diarybookid=b.diarybookid left join db03_diarycomment c on a.diarybookid=c.diaryid group by a.userid,diarybookname
select userid,
diarybookname,
count(distinct diarybookid),
sum(case diarypublic when '公开' tehn 1 else 0 end),
sum(case diaryid when not null then 1 else 0 end),
sum(case commentid when not null then 1 else 0 end)
from db01_diarybook a left join db02_diary b on a.diarybookid=b.diarybookid
left join db03_diarycomment c on a.diarybookid=c.diaryid
group by a.userid,diarybookname