取出每个人最后更新的那条

有一个表,里面每个人有很多条更新数据,要求:取出每个人最后更新的那条。

工号 更新时间
1001 2018-07-01 08:00
1001 2018-07-01 09:01
1001 2018-07-01 10:02
1001 2018-07-01 11:03
1002 2018-06-23 10:00
1002 2018-06-24 09:01

问sql以及数据库相关的题,请先说明使用的数据库类型以及数据库版本,因为不同数据库支持的sql写法不一样;
还有,需要提供相关的create table 和insert的sql,因为不同的字段类型处理方式也会不一样。
你这题存在歧义,假设表里只有这两个字段,那么简单的max聚合即可

select 工号,max(更新时间) 最后时间 fromgroup by 工号

但是如果这个表里不止这两个字段,而且要取出完整的行记录时,则需要使用开窗函数。
假设你用的数据库支持开窗函数,那么可以使用row_number()分组倒序排序后取第一条

select b.* from 
(
select a.*,
row_number() over(partition by 工号 order by 更新时间 desc) rn
 from 表 a
) as b where rn=1