zoukankan      html  css  js  c++  java
  • [sql查询] 重复数据只取一条

    SELECT * FROM  tab_init
    WHERE id IN 
    ( 
    --根据Data分类获取数据最大ID列表 
    select max(id) from tab_init
    group by a,b
    )

     先找出重复数据的 最大的Id ( group by 后面可跟多列, 根据规则找到重复数据), 取出 id 最大或最小的 Id, 然后使用 in查询,就可以得到不重复的数据

    配合 With .. As () 非常方便

     --tab_jcxh_CertificateInfoAbility_New导入最新数据
     go
    
     with  tab_init
      
     as  
       (
          select ROW_NUMBER() over (order by OperateTime) as Id,* from  [Person].tab_jcxh_CertificateInfoAbility
       )
    
      insert into [Person].tab_jcxh_CertificateInfoAbility_New(IndexId,CertificateNumber,ItemCode,ItemName,CertificateDeadline,zzType,IsOperate,OperateTime)
     SELECT IndexId,CertificateNumber,ItemCode,ItemName,CertificateDeadline,zzType,IsOperate,OperateTime  FROM  tab_init
    WHERE id IN 
    ( 
    --根据Data分类获取数据最大ID列表 
    select max(id) from tab_init
    group by CertificateNumber
    )
  • 相关阅读:
    02方法 课后作业1
    HDU 1518
    POJ 2406
    HDU 1953
    HDU 1272
    POJ -- 3842
    POJ -- 3233 求“等比矩阵”前n(n <=10^9)项和
    POJ ---3070 (矩阵乘法求Fibonacci 数列)
    POJ --- 3613 (K步最短路+矩阵快速幂+floyd)
    POJ --- 2918 求解数独
  • 原文地址:https://www.cnblogs.com/mjxxsc/p/5622666.html
Copyright © 2011-2022 走看看