首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MYSQL窗口函数

MYSQL窗口函数
EN

Stack Overflow用户
提问于 2018-06-25 08:57:44
回答 1查看 32关注 0票数 0

在最终交付给客户之前,订单有多个order_status。有时,客户会从不同的来源下多个订单。我们接受一个订单,但拒绝另一个订单。当重复订单被取消时,我想知道被接受订单的最新订单状态是什么。

代码语言:javascript
运行
复制
LEFT JOIN(
            SELECT order_id AS order_id,order_status,max(addtime(`timestamp`,'05:30:00')) AS timestamp
            FROM pe2.order_history
            GROUP BY 1,2
) oh ON oh.order_id = ord.order_id AND oh.timestamp <= c.time. 
c.time. is duplicate order cancellation time.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-25 16:05:28

我们得到所需客户的订单,然后得到同一订单的最新状态,即在重复订单取消之前:

代码语言:javascript
运行
复制
SELECT order.*,
(SELECT order_status FROM order_history AS oh 
WHERE order_id = order.id AND timestamp <= cancel_time
ORDER BY timestamp DESC LIMIT 1) AS last_status
FROM order
WHERE order.ID = accepted_order
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51019661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档