参考网址:http://pcedu.pconline.com.cn/empolder/db/sql/0508/693658_3.html
1、使用DISTINCT关键字:
1 --建立临时表 2 CREATE TABLE t_1_temp AS SELECT DISTINCT * FROM t_1 t; 3 --截断表 4 TRUNCATE TABLE t_1; 5 --将临时表的数据插入到本表 6 INSERT INTO T_1 SELECT * FROM t_1_temp; 7 --查询数据 8 SELECT * FROM T_1; 9 --删除临时表 10 DROP TABLE t_1_temp;
2、使用GROUP BY:将所有的列根据条件进行分组:
1 --建立临时表 2 CREATE TABLE t_1_temp AS SELECT * FROM t_1 t GROUP BY T.U,T.P; 3 --截断表 4 TRUNCATE TABLE t_1; 5 --将临时表的数据插入到本表 6 INSERT INTO T_1 SELECT * FROM t_1_temp; 7 --查询数据 8 SELECT * FROM T_1; 9 --删除临时表 10 DROP TABLE t_1_temp;
3、根据ROW_ID
1 DELETE FROM t_1 2 WHERE ROWID NOT IN (SELECT MAX(T1.Rowid) FROM t_1 T1 GROUP BY T1.u, T1.p); 3 --这里用min(rowid)也可以。