我有一张表如下:(前)
id | vid | time
------------------------
1 | 4 | 1333635317
2 | 4 | 1333635323
3 | 2 | 1333635336
4 | 4 | 1333635343
5 | 5 | 1333635349
我想成为同一行[id:1,2,4]
的一行(最后一行[ID:4]),它将如何输出查询?
我的意思是,由于这些原因:
id | vid | time
------------------------
3 | 2 | 1333635336
4 | 4 | 1333635343
5 | 5 | 1333635349
我该怎么办?
我试着这样做:SELECT * from tbale as t1 where vid = 4 GROUP BY vid ORDER BY id DESC
但在我的查询中无效ORDER BY
。
答案 0 :(得分:1)
获取每个vid的max
时间并使用in
从表中获取这些行。
select * from tablename
where (vid,time) in (select vid,max(time)
from tablename
group by vid)
order by id