- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章MySQL大表中重复字段的高效率查询方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
MySQL大表重复字段应该如何查询到呢?这是很多人都遇到的问题,下面就教您一个MySQL大表重复字段的查询方法,供您参考.
数据库中有个大表,需要查找其中的名字有重复的记录id,以便比较。 如果仅仅是查找数据库中name不重复的字段,很容易 。
复制代码代码如下
SELECT min(`id`),`name` FROM `table` GROUP BY `name`; 。
但是这样并不能得到说有重复字段的id值。(只得到了最小的一个id值) 查询哪些字段是重复的也容易 。
复制代码代码如下
SELECT `name`,count(`name`) as count FROM `table` GROUP BY `name` HAVING count(`name`) >1 ORDER BY count DESC; 。
但是要一次查询到重复字段的id值,就必须使用子查询了,于是使用下面的语句来实现MySQL大表重复字段查询。 。
复制代码代码如下
SELECT `id`,`name` FROM `table` WHERE `name` in ( SELECT `name` FROM `table` GROUP BY `name` HAVING count(`name`) >1 ); 。
但是这条语句在mysql中效率太差,感觉mysql并没有为子查询生成临时表。 于是使用先建立临时表 。
复制代码代码如下
create table `tmptable` as ( SELECT `name` FROM `table` GROUP BY `name` HAVING count(`name`) >1 ); 。
然后使用多表连接查询 。
复制代码代码如下
SELECT a.`id`, a.`name` FROM `table` a, `tmptable` t WHERE a.`name` = t.`name`; 。
结果这次结果很快就出来了。 用 distinct去重复 。
复制代码代码如下
SELECT distinct a.`id`, a.`name` FROM `table` a, `tmptable` t WHERE a.`name` = t.`name`; 。
最后此篇关于MySQL大表中重复字段的高效率查询方法的文章就讲到这里了,如果你想了解更多关于MySQL大表中重复字段的高效率查询方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
正则表达式简介 正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达
我是一名优秀的程序员,十分优秀!