现有一张表(有ID和提),取出最新操作的数据,sql怎么写?
现有一张表(有ID和操作时间time),因为编辑时间的不同,相同ID的数据会有多条记录,我怎么才能把最新操作的那条数据取出来,sql语句该怎么写?...
现有一张表(有ID和操作时间time),因为编辑时间的不同,相同ID的数据会有多条记录,我怎么才能把最新操作的那条数据取出来,sql语句该怎么写?
展开
6个回答
展开全部
select * from table as a where exists
(select 1 from table where a.id=id group by id
having max(time)=a.time)
(select 1 from table where a.id=id group by id
having max(time)=a.time)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select top 1 from table order by time desc
DESC是排序,把你最后的时间,也是最新的一条,然后top 1是取这条数据。
DESC是排序,把你最后的时间,也是最新的一条,然后top 1是取这条数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个肯定行
select *
from tab t
where not exists (select 1 from tab where ID = t.ID and time > t.time)
如果要最早的纪录,只要把>换为<就可以了
select *
from tab t
where not exists (select 1 from tab where ID = t.ID and time > t.time)
如果要最早的纪录,只要把>换为<就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你按时间排序,然后拿出第一条。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询