select writer,count(*) from 文章表 where writer like ...这里怎么写...
...全文
2412打赏收藏
这个SQL语句怎么写?急!!
我两个表,一个是关于文章的表(含有作者字段),另外一个是作者资料的表,现在我是要统计在这个作者表中的每个人所发表的文章数是多少,在文章表里有些作者字段是包含多个作者的,我是想用like写模糊查询,怎么写?? select writer,count(*) from 文章表 where writer like ...这里怎么写...
首先你的逻辑有点问题,不能统计所有的作者。
分析:
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.