首页 > 数据库 > mysql教程 > 如何在 SQL 中选择具有重复 ID 和唯一列值的行?

如何在 SQL 中选择具有重复 ID 和唯一列值的行?

Mary-Kate Olsen
发布: 2024-12-27 05:20:15
原创
994 人浏览过

How to Select Rows with Duplicate IDs and Unique Column Values in SQL?

提取具有重复 ID 和不同列值的行

查询:

考虑下列的表:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 2     | A     |
+------+------+
| 3     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | B     |
+------+------+
登录后复制

目标是检索 ARIDNR 列具有重复值而 LIEFNR 列具有不同值的所有行。

解决方案:

要有效执行此查询,请遵循以下步骤步骤:

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(DISTINCT LIEFNR) > 1
)
登录后复制

解释:

此查询使用子查询来识别多次出现的 ARIDNR。在外部查询中,它检索具有已识别 ARIDNR 的所有行。

  1. 子查询:

    • 它按 ARIDNR 对行进行分组。
    • HAVING 子句筛选具有多个不同 LIEFNR 的 ARIDNR value.
  2. 外部查询:

    • 主查询过滤表以仅包含 ARIDNR 满足子查询的行

结果:

查询的输出将是:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | A     |
+------+------+
| 2     | B     |
+------+------+
登录后复制

此结果成功捕获具有重复 ARIDNR 和不同 LIEFNR 值的所有行。

以上是如何在 SQL 中选择具有重复 ID 和唯一列值的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板