MySQL大表中重复字段的高效查询方法
数据库中有一个大表。它需要查找具有重复记录id的数据库名称,以便进行比较。
很容易找到不在数据库中重复名称的字段。
复制代码代码如下所示:
选择MIN(id)、名称
从'表'
名组;
但这并不能获得重复字段的ID值。
查询哪些字段重复是很容易的。
复制代码代码如下所示:
选择'名称',计数('名称')作为计数
从'表'
按'名'计数(名称)> 1
通过数倒序;
但查询重复字段的id值一次,你必须使用子查询,所以下面的语句是用来实现MySQL大表重复字段查询。
复制代码代码如下所示:
选择id、名称
从'表'
名字在哪里
选择'名字'
从'表'
按'名'计数(名称)> 1
);
但这种说法在MySQL的效率很低,而且感觉MySQL不生成子查询临时表。
所以临时表是首先设置的。
复制代码代码如下所示:
创建表` tmptable `为(
选择'名字'
从'表'
按'名'计数(名称)> 1
);
然后使用多表连接查询
复制代码代码如下所示:
选择id、名称
从`表`,` tmptable ` T
名字在哪里;
结果,结果很快就出来了。
重复与不同
复制代码代码如下所示:
选择不同的id、名称
从`表`,` tmptable ` T
名字在哪里;