sql server 2008按条件筛选重复记录

通常我们查重是这么写的,按照某个条件筛选重复

select * from dbo.T_ECert a

where (a.ECERTID) in (select ECERTID from T_ECert group by ECERTID+idcard having count(*) > 1)

但是如果需要有多个条件怎么办呢?

oracle可以这样

select * from dbo.T_ECert a

where (a.ECERTID,a.idcard) in (select a.ECERTID,a.idcard from T_ECert group by ECERTID,idcard having count(*) > 1)

这样可以解决多条件查询,但是sql server 2008就不可以,但我想到一个办法可以这样

select * from dbo.T_ECert a

where (a.ECERTID+a.idcard) in (select a.ECERTID+a.idcard from T_ECert group by ECERTID+idcard having count(*) > 1)

将多个条件相加,这样可以合并为一个列,不同数据拼接出来的数据肯定不同,所以可以解决多条件筛重

时间: 2024-08-28 21:39:20

sql server 2008按条件筛选重复记录的相关文章

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

SQL SERVER 2008向ORACLE 11G迁移示例

来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(一) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(二) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(三) 使用O

SQL Server 2008 R2——使用数字辅助表(master..spt_values)实现用计数字段对记录进行重复显示

原文:SQL Server 2008 R2--使用数字辅助表(master..spt_values)实现用计数字段对记录进行重复显示 =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮箱([email protected])”联系我 勿用于学术性引用. 勿用于商业出版.商业印刷.商业引用以及其他商业用途. 本文不定期修正完善. 本文链接:http:

sql server 2008 merge matched判定条件

SQL Server 2008 开始支持 MERGE语句  -- 源表 CREATE TABLE test_from (id INT, val VARCHAR(20)); -- 目标表 CREATE TABLE test_to (id INT, val VARCHAR(20)); -- 插入源表 INSERT INTO test_from VALUES (1, 'A'); INSERT INTO test_from VALUES (2, 'B'); -- 合并 源表到目标表 MERGE test

insert into values 插入多条指定记录 - sql server 2008新功能

之前碰到一条如下语句 declare @t1 table (catId int, id int) insert into @t1(catid,id) values (15,33), (15,49), (15,113) sql server 2000及2005上跑,均报错--Line 3: Incorrect syntax near ','. 后来查了一下,这是sql server2008出来的新特性.所以此语句仅限于sql server 2008及以上版本使用. PS:顺道提一下,sql ser

SQL Server 2008连接Oracle操作步骤详细记录

SQL Server Management Studio Express(简写SSMS)SQL Server配置管理器:SQL Server Configuration Manager(简写SSCM)一. 开启SQL Server 2008远程连接---如果已经开启,则可以跳过1. 打开SSMS,用Windows身份连接数据库后,右键点击数据库引擎,选择“属性”2. 左侧选择“安全性”,选中右侧的“SQL Server和Windows身份验证模式”以启用混合登录模式3. 左侧选择“连接”,勾选“

22. SQL -- SQL Server 2005 和SQL Server 2008新特性

SQL SERVER 2005 与SQL SERVER 2008 新特性   SQLSERVER 2005 新特性 Enhanced Data Types:存储最大8K-2G Partitioned Table(分区表):数据拆分管理 背景:一个公司,有目前现存数据以及历史数据,各在一台SER 上,服务器访问方式: SQL 2000 TABLE 1:在一张table 中,对数据进行分区 Enhanced Indexing Features SER 1 SER 2 现存数据 TABLE 1 TAB

SQL Server 2008索引使用技巧

微软MVP及畅销书<Hitchhiker's Guide SQL Server>的作者Bill Vaughn简要给出了SQL Server 2008的索引使用技巧.该主题基于Kimberly Tripp和Paul Randall(这两位是SQL Server高可用性和性能方面的专家)的建议. 下面是主要的建议: ·页(page)密度 优化行大小:SQL Server 2005(及后续版本)支持8k的列.这意味着一行可以超过80k大小.这有意义么?哦,通常情况下没有.对行大小的管理与效率同样重要

SQL Server 2008性能故障排查(二)——CPU

原文:SQL Server 2008性能故障排查(二)--CPU 承接上一篇:SQL Server 2008性能故障排查(一)--概论 说明一下,CSDN的博客编辑非常不人性化,我在word里面都排好了版,贴上来就乱得不成样了.建议CSDN改进这部分.也请大家关注内容不要关注排版.同时在翻译的过程中本人也整理了一次思路,所以还似乎非常愿意翻译,虽然有点自娱自乐,但是分享给大家也是件好事 CPU 瓶颈: CPU瓶颈可能因为某个负载所需的硬件资源不足而引起.但是过多的CPU使用通常可以通过查询优化(