SELECT语句,去除某个字段的重复信息,例如:
表名:table
id uid username message dateline
1 6 a 111 1284240714(时间戳)
2 6 a 222 1268840565
3 8 b 444 1266724527
4 9 c 555 1266723391
执行语句(去除username字段重复信息并按时间排序):
SELECT *
FROM table a INNER JOIN ( SELECT max( dateline ) AS dateline
FROM table GROUP BY uid ) b ON a.dateline = b.dateline
GROUP BY id ORDER BY a.dateline DESC
结果:
id uid username message dateline
1 6 a 111 1284240714(时间戳)
3 8 b 444 1266724527
4 9 c 555 1266723391
此语句用于显示最新记录信息,在一个区域内不允许某个信息(例如:用户)同时出现多次(一次以上)。
后记:效率问题
开始用了个这语句:
select * from table where dateline IN ( select max(dateline) from table GROUP BY uid ) ORDER BY dateline DESC
IN:当处理数据量比较大的时候,就没效率可言了,所以优化成内联,计算下快了6倍多。。。
继续条效率就加索引了~~
mysql SELECT语句去除某个字段的重复信息
2019-11-06 16:39mysql教程网 Mysql
mysql SELECT语句去除某个字段的重复信息,需要的朋友可以收藏下。
延伸 · 阅读
- 2019-11-07MySQL show命令的用法
- 2019-11-06禁止mysql做域名解析(解决远程访问mysql时很慢)
- 2019-11-06Mysql 数据库常用备份方法和注意事项
- 2019-11-06mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY U
- 2019-11-06mysql 存在该记录则更新,不存在则插入记录的s
- 2019-11-06Mysql入门基础 数据库创建篇
精彩推荐
- Mysql
MySQL 双向备份的实现方法
这篇文章主要介绍了MySQL 双向备份的实现方法,即两个 MySQL 服务都是 Master,其中任意一个服务又是另一个服务的 Slave,感兴趣的可以了解一下...
- Mysql
win10下mysql 8.0.11 压缩版安装教程
这篇文章主要为大家详细介绍了win10下mysql 8.0.11 压缩版安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...
- Mysql
MySQL 优化设置步骤
mysql的一些运行效率等优化设置,建议拥有服务器的朋友,可以测试。 ...
- Mysql
MySQL 有输入输出参数的存储过程实例
MySQL 有输入输出参数的存储过程实例 ...
- Mysql
Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)
MySql2.cpp : Defines the entry point for the console application. ...
- Mysql
Mysql提升大数据表拷贝效率的解决方案
这篇文章主要给大家介绍了关于Mysql提升大数据表拷贝效率的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价...
- Mysql
mysql 8.0.12 安装配置方法并修改密码
这篇文章主要为大家详细介绍了mysql 8.0.12 安装配置,及修改密码的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...
- Mysql
MySQL 在触发器里中断记录的插入或更新?
MySQL 不象其它有些数据库可以在触发器中抛出异常来中断当然触发器的执行以阻止相应的SQL语句的执行。在MySQL的目录版本中还无法直接抛出异常。这样我...