delete from people where peopleName in (select peopleName from people group by peopleName having count(peopleName) > 1) and peopleId not in (select min(peopleId) from people group by peopleName having count(peopleName)>1)
SQL删除数据的各种方式总结 一.使用DELETE从表中删除目标行.记录每次删除操作.如: USE pubs DELETE FROM authors WHERE au_lname = 'McBadden' 二.使用DROP TABLE 来实现整表的删除,整个表的结构都被删除.如: USE PUBS DROP TABLE AUTHORS 三. 使用DROP DATABASE 来实现整个数据库的删除.如: USE PUBS DROP DATABASE PUBS 四.使用TRUNCATE TABLE
总的思路就是先找出表中重复数据中的一条数据,插入临时表中,删除所有的重复数据,然后再将临时表中的数据插入表中.所以重点是如何找出重复数据中的一条数据,有三种情况 1.重复数据完全一样,使用distinct select distinct * from table 2.id列不同,id类型为int,自增字段,使用聚合函数max或其他 select * from table where id in( select MAX(id) FROM table group by "分组字段"ha
最近做一个项目,由于客户数据量大,为了不将数据彻底删除,于是将数据移动到历史表,原始表的数据删除.由于技术有限,想不到好的方法,于是写个存储过程 执行,为了防止执行过程中出现异常,执行不完整.用到hIbernate事务.下面是写的代码.sql存储过程写的很麻烦,希望能给点建议: CREATE PROCEDURE [dbo].[savetohistoryDel] --时间 ) AS BEGIN --插入作业到历史表 INSERT INTO inout_history_job ( jobid,job
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能 SQL查询效率 step by step -- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar(50) not null defau
SQL跨数据库复制表数据 不同服务器数据库之间的数据操作 不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时: select * into 目的数据库..表 from 源数据库..表 --如果在不同的SQL之间: insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表) select * from 源数据库..表 -