【问题标题】:Select only the entries that have the same foreign_id twice仅选择两次具有相同 foreign_id 的条目
【发布时间】:2023-03-25 12:04:01
【问题描述】:

我有一个 mysql InnoDB 表,结构如下:

id
artist_id

那里有很多条目,大多数artist_ids 在那里有15 次。但有些人只在那里两次。我需要这些。

我想出了以下方法,但无济于事:

SELECT artist_id FROM matches HAVING COUNT(artist_id)=2

它返回 0 行,尽管有些艺术家 ID 只出现在表中两次。我怎样才能得到它们?

【问题讨论】:

    标签: mysql select count


    【解决方案1】:


    你好,
    我会用这个:
    SELECT artist_id,count(*) FROM matches GROUP BY artist_id HAVING COUNT(*)=2
    因为HAVING 是结果的过滤器。

    使用=2,您将找到恰好存在两次的那些。

    【讨论】:

    • 欢迎来到 SO!嗯,这没有帮助。它只向我显示第一个艺术家 ID 和所有行的计数。我需要在表格中只出现两次的艺术家 ID。
    • 它必须是=2,而不是>1,但除此之外它完全没问题!谢谢!
    【解决方案2】:
    select artist_id, count(id) as num from matches group by artist_id having num = 2;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 2023-02-15
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      相关资源
      最近更新 更多