我有如下表格
| 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
请帮我解决这个问题。
先谢谢。
答案 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