Delete tableA Where RowID in ( select rowid from tableA a where a.rowid != ( select max(rowid) from tableA b where a.rowB= b.rowB .......... ) )
楼上可以吗??tableA 又没有 RowID 字段
DELETE TABLEA C WHERE C.ROWID NOT IN( SELECT A.ROWID FROM TABLEA A, (select MIN(ID) ID, rowB from tablea GROUP BY rowB) B WHERE A.rowB = B.rowB AND B.ID = A.ID); 其中ID为表的主键,在oracle数据库中测试通过,mysql中应该不能用,mysql不支持子查询。
(
select rowid
from tableA a
where a.rowid !=
(
select max(rowid) from tableA b
where a.rowB= b.rowB
..........
)
)
SELECT A.ROWID FROM
TABLEA A,
(select MIN(ID) ID, rowB from tablea GROUP BY rowB) B
WHERE A.rowB = B.rowB
AND B.ID = A.ID);
其中ID为表的主键,在oracle数据库中测试通过,mysql中应该不能用,mysql不支持子查询。