日期:2014-05-17  浏览次数:20422 次

如何去除重复数据
我有查询数据如下:
ID NAME
0 通用 2012-07-21 10:05:00 YxunshiZ 老妈火锅城 手动
0 通用 2012-07-21 10:25:00 YxunshiJ 老妈火锅城 手动
1 系统 NULL NULL 老妈火锅城 NULL

 如上 ID 两个 0 的数据 因为有 一行 YxunshiZ/YxunshiJ 不一样导致不能用 distinct。
有需求要 根据 ID 和 name 相同的来 去掉重复数据 如何做?

------解决方案--------------------
SELECT * FROM TB T WHERE COL=(SELECT MIN(COL) FROM TB WHERE ID=T.ID AND NAME=T.NAME)
------解决方案--------------------
0 通用 2012-07-21 10:05:00 YxunshiZ 老妈火锅城 手动
0 通用 2012-07-21 10:25:00 YxunshiJ 老妈火锅城 手动
------------需要知道两条数据要取哪一条?
------解决方案--------------------
delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)