mysql - 在 SQL 中过滤结果

标签 mysql sql

假设我有一张 table

  id            value
------        ---------
  10              123
  10              422
  11              441
  11              986
  12              674
  13              648

我需要一个查询,它将只返回那些具有 2 个或更多关联值的 ID。所以,在那种情况下,它只会返回 ID 10 和 11,但我需要所有记录。

所以结果是这样的:

 id            value
------        ---------
  10              123
  10              422
  11              441
  11              986

谢谢。

最佳答案

select a2.*
from MyTable a2
inner join
(
select a1.id
from MyTable a1
group by a1.id
having count(*) > 1
) a3
on a3.id = a2.id

关于mysql - 在 SQL 中过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44882116/

相关文章:

.net - SQL Server 中排除具有不同 ID(自动增量)的重复行的 SELECT 语句

mysql - 2 列以 MUL 作为键?

java - SQL 语法中的 JDBC 问号

php - 为什么我会收到 MySQL 错误 "Query was empty"?

java - 通过HQL从两个表中获取数据并插入到一个表中

php - 将 Mysql 行存储在数组中

java - 在 PreparedStatement 中重用参数?

mysql - 如何使用 SQL (MySQL) 对表中的列进行排序?

mysql - Wordpress 元查询与分类查询

mysql - MYSQL 中的日期格式