Mysql 去重
2016-04-25 12:48
477 查看
有 tb 表,表数据如下:
问题1:获取数据 name ,age 并把 name字段去除重复
答:
select distinct name,age from tb;
查询出的结果为
name age
张三 20
李四 22
王五 22
问题2:想把 id,name,age,time 字段查出,并用 name 字段去除重复
答:这时用 distinct 就不行了,用如下语句
select * from tb as a where id=(select id from tb where a.name=name limit 0,1)
这个方法是可以,但数量特别大的时候,很费时间,不是一个好的选择
用 group by 会很好
select * from tb group by name
id | name | age | time |
1 | 张三 | 20 | 2012-12-12 |
2 | 李四 | 22 | 2013-01-12 |
3 | 王五 | 22 | 2014-04-23 |
4 | 张三 | 20 | 2014-04-22 |
5 | 张三 | 20 | 2011-12-12 |
6 | 李四 | 22 | 2015-01-12 |
答:
select distinct name,age from tb;
查询出的结果为
name age
张三 20
李四 22
王五 22
问题2:想把 id,name,age,time 字段查出,并用 name 字段去除重复
答:这时用 distinct 就不行了,用如下语句
select * from tb as a where id=(select id from tb where a.name=name limit 0,1)
这个方法是可以,但数量特别大的时候,很费时间,不是一个好的选择
用 group by 会很好
select * from tb group by name
相关文章推荐
- MySQL表名不区分大小写的设置方法
- mysql删除表数据中某个唯一字段出现重复的数据
- Mysql常用命令集
- MySQL配置
- mysql基础---->基本命令与13道练习
- MySql的flush用法
- PostgreSQL和MySQL的性能对比实验
- MySQL快速学习入门
- mysql服务关闭过程
- MySQL导入.sql文件及常用命令
- Mysql 经典练习
- mysql update不能直接使用select的结果
- mysql_escape_string()函数用法分析
- MySQL(六) —— 运算符和函数
- mysql动态游标学习(mysql存储过程游标)
- Mysql常见问题
- MySql以及navicat for mysql的安装
- mysql日志清理
- MyBatis+MySQL数据库操作小技巧
- mysql复习