Mysql在列上选择UNIQUE行

时间:2017-01-15 20:29:33

标签: php mysql sql database

我有一张表如下:(前)

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

1 个答案:

答案 0 :(得分:1)

获取每个vid的max时间并使用in从表中获取这些行。

select * from tablename
where (vid,time) in (select vid,max(time) 
                     from tablename 
                     group by vid)
order by id