【问题标题】:SQL: Find duplicates and for each duplicate group assign value of first duplicate of that groupSQL:查找重复项并为每个重复组分配该组的第一个重复项的值
【发布时间】:2017-07-12 19:30:43
【问题描述】:

我在最上面的表格中有结果。我想要底部表格中的结果。

使用上表中的 SQL 查询,我想查找重复组(其中除 Id 和 Category 之外的所有列中的值都相同),并从中创建一个结果,该结果对于每个条目具有最低的 Id原始表中的一组重复项和(未修改的)类别。

【问题讨论】:

    标签: sql sql-server-2008 duplicates grouping


    【解决方案1】:

    这里可以使用窗口函数min

    select min(id) over (partition by first_name, last_name, company) id,
        category
    from t;
    

    【讨论】:

    • 非常感谢,这很有效,而且比我预期的更简单。
    猜你喜欢
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2019-02-07
    相关资源
    最近更新 更多