首页 >数据库 >mysql教程 >如何在SQL中选择ID重复但值不同的行?

如何在SQL中选择ID重复但值不同的行?

Barbara Streisand
Barbara Streisand原创
2024-12-27 01:19:09655浏览

How to Select Rows with Duplicate IDs but Different Values in SQL?

选择具有重复 ID 和不同值的行

您遇到了数据管理挑战,其中您拥有一个包含 ID (ARIDNR) 和相应的值(LIEFNR)。您的目标是识别并选择 LIEFNR 列中 ID 重复但值不同的所有行。

解决方案:

要完成此任务,请使用以下 SQL查询:

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(distinct LIEFNR) > 1
)

解释:

  • 外部查询(SELECT *)检索满足指定条件的行的所有列。
  • 内部查询 (SELECT ARIDNR) 选择唯一的 ARIDNR 值。
  • GROUP BY 子句按 ARIDNR 列对行进行分组。
  • HAVING 子句过滤结果,仅包含具有多个不同 LIEFNR 值的组。

此查询有效地隔离了具有重复的 ARIDNR 和不同的 LIEFNR 值。执行后,它将产生所需的输出:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | A     |
+------+------+
| 2     | B     |
+------+------+

此解决方案有效地满足您的要求,并提供可靠的方法来识别和选择具有指定条件的行。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn