对于与编程来说是对数据做出各种各样的处理,而一般来说,数据的最终保存地就是数据库,数据库的的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()就可以了。
时间: 2024-10-19 02:22:48