删除一个表中的一些数据!

showmetoyou 2003-11-24 03:03:09
我的表结构如下:
ID(int) CCF_NO(varchar) PRICE(varchar)
---------------------
1 1111 34242
2 1111 2334
3 2222 34334
4 2222 22343
5 2222 32425
6 1111 54544
等等!数据很多!
第一个问题:
我要把CCF_NO相同的几条数据中ID最小的一条数据删掉?请问如何做??
第二个问题:
我要把CCF_NO相同的几条数据中PRICE最大的一条数据删掉?请问如何做??谢谢!
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-11-24
  • 打赏
  • 举报
回复
楼上几位的已经可以
伍子V5 2003-11-24
  • 打赏
  • 举报
回复
1.
delete from tablename a where id=(select min(id) from tablename where CCF_NO=a.CCF_NO)
2.delete from tablename a where price=(select max(price) from tablename where CCF_NO=a.CCF_NO)
txlicenhe 2003-11-24
  • 打赏
  • 举报
回复
1:
delete a
from 表 a
join (Select ccf_no,min(ID) as id from 表 group by ccf_no having count(*) > 1) b on a.id = b.id

2:
delete a
from 表 a
join (Select ccf_no,max(ID) as id from 表 group by ccf_no having count(*) > 1) b on a.id = b.id
txlicenhe 2003-11-24
  • 打赏
  • 举报
回复
delete a
from a
join (Select ccf_no,min(ID) as id from 表 group by ccf_no having count(*) > 1) b on a.id = b.id

delete a
from 表 a
join (Select ccf_no,max(ID) as id from 表 group by ccf_no having count(*) > 1) b on a.id = b.id
pengdali 2003-11-24
  • 打赏
  • 举报
回复
第一个问题:
delete 表 where id in (select min(id) from 表 group by CCF_NO)

第二个问题:

delete 表 where PRICE in (select max(PRICE) from 表 group by CCF_NO)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧