SQL重复记录查询
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)
3、查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
(二)
比方说
在A表中存在一个字段“name”,
而且不同记录之间的“name”值有可能会相同,
现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;
Select Name,Count(*) from A Group By Name Having Count(*) > 1
如果还查性别也相同大则如下:
Select Name,sex,Count(*) from A Group By Name,sex Having Count(*) > 1
(三)
方法一
declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) >; 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_s
相关文档:
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECTTOP10*fromTestTableWHERE(IDNOTIN (SELECTTOP20id fromTestTable ORDERBYid))ORDERBYIDSELECTTOP页大小*fromTestTableWHERE(IDNOTIN (SELECTTOP页大小*页数id from表 ORDERBYid))ORDERBYID
2.分 ......
一、清空日志
DUMP TRANSACTION 库名 WITH
NO_LOG
二、收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这 ......
最佳答案方法1:
在查询分析仪里面运行下面代码:
backup log dbname with NO_LOG
backup log dbname with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbname)
方法2:
进入企业管理器,选中数据库
所有任务->分离数据库
到数据库文件的存放目录,将dbname_log.LDF文件删除,怕S的话 ......
createdb.bat文件
@echo off
echo ╬ ╱◥███◣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
echo ╬ ︱田︱田 田 ︱ ......
SQL*PLUS的使用
1、退出SQL*PLUS
EXIT:终止SQL*PLUS,并将控制权交还给OS。
2、编辑命令
1) List或L:显示缓冲区中所有的行。
SQL> list
1 select
2 *
3* from dept --注:*代表当前行。 ......