现在有两个表。表admin:字段有 admin_id, name, desc(其中admin_id为主键唯一字段)
表article:字段有 article_id, cat_id, content, admin_id(其中article_id为主键唯一字段,admin_id对于与admin表的同名字段)我现在想通过一条语句列出表admin的所有记录,并且想统计出每个admin对应的article的数据,我试着通过下面left join来做,但似乎不对。请帮忙指出争取的方法:SELECT a.*,count(DISTINCT ar.article_id) FROM admin as a LEFT JOIN article as ar ON a.admin_id = ar.admin_id
sql join

解决方案 »

  1.   

    SELECT a.*,count(ar.article_id) FROM admin as a LEFT JOIN article as ar ON a.admin_id = ar.admin_id
    group by a.admin_id
      

  2.   

    SELECT a.*,(
    SELECT count(*) FROM article as aR
    WHERE a.admin_id = ar.admin_id)
     FROM admin as a
     
      

  3.   

    select X.* from admin X left join
    (select admin_id,count(*) A from article group by admin_id) Y on Y.admin_id=X.admin_id
    order by X.admin_id