SQL(一)查询每个用户最新的记录

举一个评论的例子

表的数据

id  name common  time
1   qq   qqq     2018-05-07 16:45:23
2   qq   wwww    2018-05-17 16:45:50
3   ww   ssssss  2018-05-14 16:46:09
4   ww   dddddd  2018-05-18 16:46:28
5   qq   ccccccc 2018-05-23 17:25:16

查询相同用户最新评论

 select * from user x where time = (select max(time) from user y where x.name=y.name);

结果

+----+------+---------+---------------------+
| id | name | common  | time                |
+----+------+---------+---------------------+
|  4 | ww   | dddddd  | 2018-05-18 16:46:28 |
|  5 | qq   | ccccccc | 2018-05-23 17:25:16 |
+----+------+---------+---------------------+

解释

user x 是查询所有的数据
max(time)取出最大的时间来
y.name = x.name 查询哪个用户

有更好的方法欢迎评论

你可能感兴趣的:(数据库)