zoukankan      html  css  js  c++  java
  • sqlserver记录去重

       
      INSERT INTO [employee] select 2
          ,[emp_name]
          ,[gender]
          ,[department]
          ,[salary]
       from  [employee]
    
    select * from 
      (  select ROW_NUMBER() over(partition by emp_id order by emp_id) empid ,* from [employee]) as tb
      where tb.empid=1
     
    delete tb from   
    (select ROW_NUMBER() over(partition by emp_id order by emp_id) empid,*from employee)  as tb
    where tb.empid>1
    
    select * from employee

    上面就是开窗函数例子,开窗函数是在 ISO 标准中定义的。SQL Server 提供排名开窗函数和聚合开窗函数。

      在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成。SQL Server 2005 引入了开窗函数,使得这些经典的难题可以被轻松的解决。

      窗口是用户指定的一组行。开窗函数计算从窗口派生的结果集中各行的值。开窗函数分别应用于每个分区,并为每个分区重新启动计算。

      OVER 子句用于确定在应用关联的开窗函数之前,行集的分区和排序。PARTITION BY 将结果集分为多个分区。

  • 相关阅读:
    2020软件工程作业02
    第一次作业
    伪造IP
    Windows 上安装metasploit
    Kali安装 Typora
    在linux系统中安装调用汉语打字软件
    2020 年 10 月 10 日跑步随想
    最长公共前缀
    N皇后
    一道有趣的异步题
  • 原文地址:https://www.cnblogs.com/chenh/p/10295904.html
Copyright © 2011-2022 走看看