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.分 ......
set r=%time%
echo %r%开始导入 >>e:\c#\test.txt
osql -S (local) -U sa -P -d colorring -i e:\c#\11.sql >>d:\c#\test.txt
echo %r%导入完成 >>e:\c#\test.txt
其中11.sql中为
bulk insert colorring..test from 'e:\c#\11.txt'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR ='\n' ......
ALTER PROCEDURE [dbo].[GetUsersList]
@BigClassID int=0,--大类别ID
@SmallClassID int=0 ,--小类别ID
@pageindex int=1,
@pagesize int=3,
@ret int output --共几条
AS
set rowcount @pagesize
if @SmallClassID>0
begin
select * from(
select id,BigClassName,SmallClassName,UserName,Corporation,r ......
最佳答案方法1:
在查询分析仪里面运行下面代码:
backup log dbname with NO_LOG
backup log dbname with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbname)
方法2:
进入企业管理器,选中数据库
所有任务->分离数据库
到数据库文件的存放目录,将dbname_log.LDF文件删除,怕S的话 ......
最近修改数据库已经存在的表结构,发现用SQL语句能很好的修改表的结构。SQL数据库记录数非常庞大,如果想修改表的字段类型,使用企业管理器来更改字段类型,很多时候会超时,更改不成功,这个时候,可以用SQL语句来更改,以下为相应的代码实例:
1.更改字段类型长度
alert table 表 alert column 字段名 类型的长度
eg: ......