简体   繁体   中英

Mysql select UNIQUE row on column

I have a table as following:(Ex)

id   | vid | time
------------------------
1    |  4  | 1333635317
2    |  4  | 1333635323
3    |  2  | 1333635336
4    |  4  | 1333635343
5    |  5  | 1333635349

I want to be just a row (the last row [ID: 4]) of the same rows [id:1,2,4] , how it will output the query?

I mean, as a result of these:

id   | vid | time
------------------------
3    |  2  | 1333635336
4    |  4  | 1333635343
5    |  5  | 1333635349

What do i do?

i trying it as:

SELECT * from tbale as t1 where vid = 4 GROUP BY vid ORDER BY id DESC

but doesn't work ORDER BY in my query.

Get the max time per vid and use in to get those rows from the table.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM