当前位置: 首页 > 面试题库 >

oracle基于单个列重复行

方博学
2023-03-14
问题内容

如何找到基于单列的重复行。我在oracle中有一个表,该表具有下面给出的数据,并且有重复项。我正在尝试选择并查看具有重复员工ID的所有行,如下所述

EMP表:

EmpId Fname Lname Mname Jobcode Status exp_date

1      Mike Jordan A    IT      W      12/2014
1      Mike Jordan A    IT      A      12/2014
2      Angela ruth C    sales   P      12/2015
2      Angela ruth C    IT      W      12/2015
3      Kelly  Mike B    sales   W      12/2015

从上面的表格中,我想选择所有重复如下所示的行的行

EmpId Fname Lname Mname Jobcode Status exp_date

1      Mike Jordan A    IT      W      12/2014
1      Mike Jordan A    IT      A      12/2014
2      Angela ruth C    sales   P      12/2015
2      Angela ruth C    IT      W      12/2015

我怎样才能做到这一点?谢谢你!


问题答案:
SELECT  a.*
FROM    TableName a
        INNER JOIN
        (
            SELECT  EmpID
            FROM    TableName
            GROUP   BY EmpID
            HAVING  COUNT(*) > 1
        ) b ON a.EmpID = b.EmpID
  • SQLFiddle演示

尽管我更喜欢上面的 方法, 但是 另一种方法是使用IN

SELECT  a.*
FROM    TableName a
WHERE   EmpId IN
        (
            SELECT  EmpId
            FROM    TableName
            GROUP   BY EmpId
            HAVING  COUNT(*) > 1
        )
  • SQLFiddle演示


 类似资料:
  • 问题内容: 我使用以下方式列出了重复项: 现在,如何删除除一条消息以外的所有消息(我正在尝试删除重复项,以便可以在上应用唯一索引)。 问题答案: 使用和分配行号,以便删除重复对中除一个以外的所有行。

  • 给定一个数据集如下: 我需要根据Pandas中的列和过滤和显示所有重复的行。 通过下面的代码,我得到: 出: 但我希望结果如下: 我怎么能在熊猫里做到这一点?

  • 我正在尝试根据两个行值筛选出行。我看到的大多数问题的解决方法都采用以下方法: 可能我在这里弄得很混乱,这很简单。无论如何,任何帮助都将不胜感激! 问候

  • 我有三个数据帧。它们都有一个公共列,我需要基于公共列合并它们,而不丢失任何数据 输入 预期输出

  • 在课堂上,我的任务是创建一个基于菜单的日历系统,可以接受用户输入(他们指定日期)。它们通过输入数字来指定年份、月份、日期(例如26)和星期几。我不允许使用基于日期的库或内置类。 基于此,程序需要根据他们的输入输出日历,类似于: 如果该月有28天,则该日之后的任何一天都应显示为连字符(-),如果该月的第一天是星期一,则该月的前一个星期天应显示为连字符,而不是负数。我有一个数组,包含每个月可以在这里使

  • 问题内容: 在我们的系统中,我们每小时从外部数据库导入一次。由于导入脚本中的错误,现在有一些重复的记录。 如果任何记录具有和,则视为重复。 我可以运行什么代码来查找和删除这些重复项? 我在玩这个: 它似乎返回了一些重复项,但是我不确定如何从那里删除? 有任何想法吗? 问题答案: 您可以尝试以下方法: 还是纯sql: