现在的位置: 首页 > 综合 > 正文

SQL输出两个字段无重复的行

2013年09月16日 ⁄ 综合 ⁄ 共 353字 ⁄ 字号 评论关闭

近期在整理网站的数据库,数据库是MYSQL的,因为ACCESS功能加大,于是导入ACCESS搞的,顺便重温了一下SQL。数据非常多,十五万条,1G左右。其中,有部分数据的两个字段A和B是重复的,这样重复的行可以认为是重复的数据,只要保留任意一行就可以了。简单的想,SQL应该这样写,"SELECT DISTINCT A, B FROM TABLE1;",再一想,哈哈,好像不对,要输出的是所有的字段。正确的应该这样写,"SELECT * FROM TABLE1 WHERE ID IN (SELECT MIN(ID) FROM TABLE1 GROUP BY A, B);",搞定,执行一下,结果对,但比较慢,把"SELECT MIN(ID) FROM TABLE1 GROUP BY A, B"单独执行,数据存到一个表中,ID字段建索引,这样处理就快多了。

抱歉!评论已关闭.