求写一句SQL,急!

来源:百度知道 编辑:UC知道 时间:2024/05/07 00:34:15
第一句,查找ID为123的数据。(有两个ID为123的数据,想删除其中一个)

第二句,删除ID为123的数据

select * form [tablename] where id=123
delete from [tablename] where id=123

删除相同记录中的一行:
1:当表中存在唯一键值的情况:
delete from tablename where id not in(select max(id) from tablename group by column1,column2)
2:不存在唯一键值的情况,最简单的方法当然是新增一个列id,然后用1中的方法了。不过可以用中间表存取的方式:首选建一个和a表一样结构的中间表,然后insert into b select distinct * from a,再删除表a,delete from a,最后把b中的数据插入到a中, insert into a select * from b

没有主键的情况下我推荐这么做,
声明一个临时表,把123 的数据用distinct 来查询并插入的临时表,
然后在之前的表里把123的数据删掉,然后把临时表的数据导入进去。

SQLSERVER2005

DELETE TOP(1) FROM 表 WHERE ID=3

你表结构没有唯一列码?