首页 > 数据库 > mysql教程 > 如何查找特定列中具有不同值的重复行?

如何查找特定列中具有不同值的重复行?

Mary-Kate Olsen
发布: 2024-12-28 03:20:10
原创
604 人浏览过

How to Find Duplicate Rows with Different Values in a Specific Column?

选择列值不同的重复行

此数据库查询旨在根据特定列识别重复行,同时忽略其他列的值列。考虑以下场景:

 ------ ------ </p>
<table>
<thead><tr>
<th>ARIDNR</th>
<th>LIEFNR</th>
</tr></thead>
<tbody>
<tr>
<td>1</td>
<td>A</td>
</tr>
<tr>
<td>2</td>
<td>A</td>
</tr>
<tr>
<td>3</td>
<td>A</td>
</tr>
<tr>
<td>1</td>
<td>B</td>
</tr>
<tr>
<td>2</td>
<td>B</td>
</tr>
</tbody>
</table>
<p>

目标是选择与不同 LIEFNR 值出现多次的 ARIDNR 值。

解决方案

为了实现这一点,我们可以利用以下方法查询:

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

此查询使用嵌套子查询来识别满足指定条件的 ARIDNR 值。子查询按 ARIDNR 对行进行分组,并应用 COUNT(DISTINCT LIEFNR) 函数,该函数计算与每个 ARIDNR 关联的唯一 LIEFNR 值的数量。如果计数超过 1,ARIDNR 将添加到临时表中。

然后主查询从原始表中选择 ARIDNR 值与子查询标识的值匹配的所有行。这会产生所需的输出:

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

此方法有效捕获具有不同 LIEFNR 值的重复行,满足初始要求。

以上是如何查找特定列中具有不同值的重复行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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