代码之家  ›  专栏  ›  技术社区  ›  HyderA

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

  •  19
  • HyderA  · 技术社区  · 15 年前

    这是我的问题。它从两个数据库的两个表中选择一个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 回复  |  直到 15 年前
        1
  •  52
  •   Stefan Mai    15 年前
    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
    
        2
  •  -6
  •   Mohamed Saligh    15 年前

    使用 DISTINCT 避免多次发生