现有一张表(有ID和提),取出最新操作的数据,sql怎么写?

现有一张表(有ID和操作时间time),因为编辑时间的不同,相同ID的数据会有多条记录,我怎么才能把最新操作的那条数据取出来,sql语句该怎么写?... 现有一张表(有ID和操作时间time),因为编辑时间的不同,相同ID的数据会有多条记录,我怎么才能把最新操作的那条数据取出来,sql语句该怎么写? 展开
 我来答
百度网友3a8f439
2012-09-21 · TA获得超过300个赞
知道小有建树答主
回答量:224
采纳率:100%
帮助的人:161万
展开全部
select id,max(time) from table
group by id;——这个语句是把表中所有记录每一个id的最大操作时间取出来
select id,time from table
order by time desc;——这个语句是把表中的记录按时间倒序排序,第一条记录即为最近一次操作的那条数据。
szm341
2012-09-21 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5190万
展开全部
select * from table as a where exists
(select 1 from table where a.id=id group by id
having max(time)=a.time)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游离二月de风
2012-09-21 · TA获得超过181个赞
知道答主
回答量:39
采纳率:0%
帮助的人:15.1万
展开全部
select top 1 from table order by time desc

DESC是排序,把你最后的时间,也是最新的一条,然后top 1是取这条数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2012-09-21 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
这个肯定行
select *
from tab t
where not exists (select 1 from tab where ID = t.ID and time > t.time)

如果要最早的纪录,只要把>换为<就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gbyseo
2012-09-21 · 超过16用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:40.4万
展开全部
你按时间排序,然后拿出第一条。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式