【问题标题】:Find multiply duplicates in row ORACLE在 ORACLE 行中查找多个重复项
【发布时间】:2023-01-13 05:06:36
【问题描述】:

我们有一张桌子:
创建表选项卡( 身份证号, 日期编号, 日期 2 号 ) 我们需要找到一行,如果它们有 date==date2。

我想这样: 选择日期,日期 2,计数() 从选项卡 按日期分组,日期 2 有计数() > 1

但我无法获得带 ID 的完整行。如何正确编写命令?

【问题讨论】:

  • 帮助我们帮助您 - 分享一些示例数据和您希望获得的结果
  • SELECT ID FROM TABLE WHERE DATE=DATE2

标签: sql oracle


【解决方案1】:

我们需要找到一行,如果它们有 date==date2。

那只是

select * from tab where date = date2

(请注意,列名不能只是 date,因为它是为 DATE 数据类型保留的)。


另一方面,你说

我不能用 ID 得到完整的行

根据您发布的查询。它可能调整:

select *
from tab
where (date, date2) in -- this is your query:
                       (SELECT date,date2
                        FROM tab 
                        GROUP BY date,date2 
                        HAVING COUNT(*) > 1
                       )

如果这就是你要找的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多