select 作者表.writer, count(*) 
from 文章表, 作者表
where 作者表.writer like '%' + 文章表.writer
group by 作者表.writer

解决方案 »

  1.   

    select writer,count(*) from table where write like '%XX%' group by writer
    试试吧,不知道对不对
      

  2.   

    你在建两个这样的表:
    1,发表文章的信息表
    2,作者信息表
    这两个表一个作者ID是一一对应的!
    select count(*) from 作者表 a ,文章表 b where a.id=b.id
      

  3.   

    select 作者表.writer, count(*) 
    from 文章表, 作者表
    where 文章表.writer like '%' + 作者表.writer
    group by 作者表.writer
      

  4.   

    如果你现在的文章表里有作者的名字,那就这样看看!
    select count(*) from 文章表 where 作者名 like '王%'
      

  5.   

    select 作者表.writer,count(文章表.文章ID) from 作者表 left join 文章表 on 作者表.writer like '%文章表.作者%' group by 作者表.writer
      

  6.   

    首先你的逻辑有点问题,不能统计所有的作者。
    分析:
    1.如果是一般查询,writer没有意义,文章表中的作者字段是多个什么作者的集合,这个结果没有意思。该查询只能统计某一个作者发表了多少文章
    select count(*) form  文章表 where writer like '%writeValue%'2.考虑子查询:
    select 作者表.write,count(*) form 作者表 exists (select 文章表 .write form 文章表 where 文章表.write like %作者表..write)
    group by 作者表.write
    这个查询仍有存在问题,统计的结果有可能只是1
    3.考虑联接查询:
    select 作者表.write,count(*) form 作者表 where 文章表.write like %作者表.write%
    group by 作者表.write.
      

  7.   

    SELECT a.作者名
           ,(SELECT COUNT(*) FROM 文章的表 b
             WHERE  b.作者列表 LIKE '%' + a.作者名 + '%') AS  文章数
    FROM 作者资料的表 a
      

  8.   

    成功解决:select 作者表.name as writer,count(*) as cnt from 文章表,作者表 where 文章表.writer like '%'+作者表.name+'%' group by 作者表.name order by cnt