mysql 查询符合条件的 最后一条

订单表OID|Content订单状态记录表:RID|OID|status|time状态记录记录了订单状态变化,那么一个订单的最后一条状态记录就是它的当前状态。获取订单的当... 订单表 OID | Content
订单状态记录表 : RID | OID | status | time
状态记录记录了 订单状态变化,那么一个订单的 最后 一条状态记录就是 它的 当前状态。
获取订单的当前状态。How to ?
select oid curstatus from orders ...
我这是两张表啊……
订单状态记录里有 很多订单 的状态的。
比如:
1 23 已提交 2013-8-9
2 25 已提交 2013-8-10
3 23 已确认 2013-8-12
4 25 已拒绝 2013-8-12
5 25 已提交 2013-8-13
表示 订单23 8-9提交,8-12被确认。现在是 已确认 状态。
订单25 8-10提交,08-12被拒绝,8-13又提交了。现在是 已提交 状态。
展开
 我来答
spyhost
2015-10-28 · TA获得超过3132个赞
知道小有建树答主
回答量:946
采纳率:90%
帮助的人:100万
展开全部
首先要确定什么是最后一条。
是编辑时间最新的为最后一条,还是某个字段数字最大的未最后一条。
比如以时间最大为最后一条,则将符合条件的资料都筛选出来,再按时间排序,再取一笔资料。
SQL如下:
select a,b from table where a>'某个时间' order by a desc limit 1
(上面SQL中a为时间)。
阳光上的桥
2013-08-22 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65793
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
select oid curstatus from orders order by oid desc limit 1

select max(oid) curstatus from orders

以上两个方法应该都可行,如果OID是升序的,最后一条其实就是最大一条
追问
补充了问题。
状态记录表 记录的并不是 单独的一个 订单。
而是所有订单的状态记录。
要获取的也是 所有 订单的 当前状态……
麻烦你了。
追答
你的表应该有主键吧,用第一个语句的方法,按照主键降序排列,取满足条件的第一条就是了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月下丶思佳人
2013-08-22
知道答主
回答量:37
采纳率:0%
帮助的人:20.7万
展开全部
用max(time)查询方可!!
select oid,status,max(time) time from 表名 group by oid,max(time);
追问
补充了问题。
没说清楚。
订单状态记录表 记录的并 不是 单独的一个 订单。
麻烦你了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thls520
2013-08-22 · TA获得超过258个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:109万
展开全部
select top 1 * from 表名 where 条件 order by shijian desc
更多追问追答
追问
补充了问题。
状态记录表 记录的并不是 单独的一个 订单。
而是所有订单的状态记录。
追答
select top 1 * from 订单表,订单状态表 where 订单表.oid = 订单状态表.oid and 订单状态表.status =已提交 order by 订单状态表.time desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式