看起来就是几个表连接起来后count或sum把每个字段含义说清楚点吧

解决方案 »

  1.   


    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