统计重复数据

以下我们将统计表中 first_name 和 last_name的重复记录数:

mysql> SELECT COUNT(*) as repetitions, last_name, first_name
-> FROM person_tbl
-> GROUP BY last_name, first_name
-> HAVING repetitions > 1;

以上查询语句将返回 person_tbl 表中重复的记录数。 一般情况下,查询重复的值,请执行以下操作:

  • 确定哪一列包含的值可能会重复。
  • 在列选择列表使用COUNT(*)列出的那些列。
  • 在GROUP BY子句中列出的列。
  • HAVING子句设置重复数大于1。

过滤重复数据

如果你需要读取不重复的数据可以在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。

mysql> SELECT DISTINCT last_name, first_name
-> FROM person_tbl;

你也可以使用 GROUP BY 来读取数据表中不重复的数据:

mysql> SELECT last_name, first_name
-> FROM person_tbl
-> GROUP BY (last_name, first_name);

删除重复数据

如果你想删除数据表中的重复数据,你可以使用以下的SQL语句:

mysql> CREATE TABLE tmp SELECT last_name, first_name, sex FROM person_tbl  GROUP BY (last_name, first_name, sex);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;

当然你也可以在数据表中添加 INDEX(索引) 和 PRIMAY KEY(主键)这种简单的方法来删除表中的重复记录。方法如下:

mysql> ALTER IGNORE TABLE person_tbl
-> ADD PRIMARY KEY (last_name, first_name);

最新文章

  1. 用itextsharp打印pdf示例
  2. JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
  3. 【python】3.x,string与bytes的区别(文本,二进制数据)
  4. c++ typeid获取类型名-rtti
  5. C#中的特性基本理解
  6. 网络爬虫urllib2 tornado
  7. Bit-Coin收入的一分钱
  8. 使用AJAX做关键字查询:输入框变化自动搜索、无刷新页面;
  9. UIDynamic(一)
  10. MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验
  11. 在XP系统中自带的 msvcrt.dll 和 Vista 中的 msvcrt.dll 版本不同,导致抛出的异常不同
  12. 实现多文件上传在iOS开发中
  13. 全局通知Notification
  14. TCP的流量控制与拥塞控制小结
  15. 12个 Linux 中 grep 命令的超级用法实例
  16. 洛谷P2858奶牛零食 题解
  17. C#编译错误 CS0009:未能打开元数据文件
  18. Python标准输出重定向
  19. mysql-The-server-quit-without-updating-PID-file
  20. MySQL查询优化之性能提升一个数量级

热门文章

  1. 最短路(hdu2544)
  2. 牛客 2C 圈圈
  3. sql server select和set赋值的区别
  4. centos搭建LAMP
  5. Get MySQL这5个优化技巧
  6. vue-复制功能插件-兼容性最好的插件
  7. 多线程之实现Runnable接口及其优点
  8. 配置maven的国内镜像
  9. 12、rpm
  10. C++中写文件ofstream 的<< 操作符 与C风格的fwrite 的笔记