如何根据日期和时间在表格中查找上次更新

时间:2016-02-19 16:17:54

标签: sql

我有如下表格

|   time         | ename  | cid    | userid  |  day
-------------------------------------------------------
|  1455865003573 | fol    |  11228 | 107757  |20160218
|  1455865000083 | unfol  |  11228 | 107757  |20160218
|  1455874888381 | unfol  |  11229 | 107757  |20160219
|  1455874892944 | fol    |  11229 | 107757  |20160219

我想根据每个cid,userid,day的最后一次(时间)输出如下所示。

|   time         | ename  | cid    | userid  |  day
-------------------------------------------------------
|  1455865003573 | fol    |  11228 | 107757  |20160218
|  1455874892944 | fol    |  11229 | 107757  |20160219

请帮我解决这个问题。

先谢谢。

2 个答案:

答案 0 :(得分:0)

这样的东西?

SELECT * FROM tablename ORDER BY time DESC LIMIT 1

这将为您提供时间最长的行。

或者与你所说的相同:

SELECT * FROM tablename WHERE ename='fol' ORDER BY time DESC

答案 1 :(得分:0)

如果您使用的是sql server,则此查询适用于您。

select * from (select ROW_NUMBER() over (partition by [cid],[userid],[day] 
order by [time] desc) RowNum,* from yourtablename)T where RowNum=1