MySQL:选择具有多个匹配项的行

时间:2010-11-22 06:51:32

标签: mysql

这是我的查询。它从两个数据库中的两个表中选择一个id列表。查询工作正常。

select en.id, fp.blogid
from french.blog_pics fp, french.blog_news fn, english.blog_news en 
where fp.blogid = fn.id 
and en.title_fr = fn.title 
and fp.title != '' 

我只想显示en.id多次出现的行

例如,如果这是当前的查询结果

en.id fp.blogid
---------------
  10     12
  12     8
  17     9
  12     8

我只想查询以显示此内容

 en.id fp.blogid occurrences
 -----------------------------
  12     8           2

2 个答案:

答案 0 :(得分:47)

select en.id, fp.blogid, count(*) as occurrences
from french.blog_pics fp, french.blog_news fn, english.blog_news en 
where fp.blogid = fn.id 
and en.title_fr = fn.title 
and fp.title != ''
group by en.id
having count(*) > 1

答案 1 :(得分:-6)

使用DISTINCT避免多次出现