数据库信息去重查询

Posted 蚂蚁力量

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库信息去重查询相关的知识,希望对你有一定的参考价值。

对于与编程来说是对数据做出各种各样的处理,而一般来说,数据的最终保存地就是数据库,数据库的的sql操作就显得很是重要。如果某数据库中一张表保存有大量的数据,二这张表的某些数据是相同的,那么如何依据这个相同的字段值而查询出与这个字段相关的记录的最后一条或者是第一条数据呢?

首先,就单纯地以实验的角度来说,首先需要创建一张表,然后填充少量的数据,其中一个或某些字段的值是相同的,这个时候可能就需要复制、插入这样的sql操作语句了:

创建一张表message,然后填充几条基础数据,然后条件复制数据写入同一张表:

INSERT INTO aaa(account,content,TIME) SELECT account,content,TIME FROM aaa WHERE id=1;

技术分享

注:记得修改time字段的值,因为本实例是依据时间来取值的,也可以根据自己的需要自行设置取值条件。

 

第二步,现在开始取值。

比如说,我要获得每个account的最后一条交流记录:SELECT * FROM message WHERE TIME IN(SELECT MAX(TIME) FROM message GROUP BY account)。

技术分享

 注:也可以只取第一条数据,只需修改一下子查询的max()函数为min()就可以了。

以上是关于数据库信息去重查询的主要内容,如果未能解决你的问题,请参考以下文章

mysql多表查询去重

Oracle数据库,模糊查询去重查询

当进行数据的去重查询时,使用group by效率更高。

Oracle里的查询去重语句是怎么写得,求解,最好是有个范例。

sqlserver分页去重失效

Solr的查询结果去重