zoukankan      html  css  js  c++  java
  • SQL删除重复数据

    这个应用场景也不多说了

    with C as
    (
    select orderid,ROW_NUMBER() over(partition by orderid order by (select null)) as n
    from Sales.MyOrders
    )
    delete from C where n>1

    利用row_number()跟rank()也可以,

    Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。 
    Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。
    with C as
    (
    select orderid,ROW_NUMBER() over(order by orderid) as rownum,RANK() over(order by orderid) as rnk
    from Sales.Orders
    )
    delete from C where rownum<>rnk
  • 相关阅读:
    leetcode 39 Combination Sum
    C/C++ 单元测试 catch
    二叉树
    线性表
    POJ1002
    HDU4329
    hdu 4329
    java代码优化总结1
    Linux操作系统常用命令总结1
    java开发基础知识总结1
  • 原文地址:https://www.cnblogs.com/xiaopotian/p/6817241.html
Copyright © 2011-2022 走看看