gpt4 book ai didi

ms-access - 滞后分区相当于 MS Access

转载 作者:行者123 更新时间:2023-12-02 23:23:26 24 4
gpt4 key购买 nike

我正在寻找 MS Access 中以下 Oracle 查询的等效项。我知道 Lag Over(分区)功能在 MS Access 中不可用,但希望使用 MS Access 实现以下查询的相同功能。感谢任何输入

select  t.*,
to_char(date1,'yyyymm') month,
lag(value1,1,0) over(partition by Id1,name1,office,product,overall order by date1) prev_val
from test_prev t
order by name1,
office,
overall,
date1,
product

最佳答案

Oracle example 开始工作考虑到您的查询,您可能会发现子查询更适合。如果没有,用户定义函数也是一种可能。

这将按product_id 返回之前的订单日期

SELECT Orders.ORDER_DATE, 
Orders.PRODUCT_ID,
Orders.QTY,
(SELECT Top 1 o.Order_Date
FROM Orders o
WHERE o.Order_Date<Orders.Order_Date
AND o.Product_ID=Orders.Product_ID
ORDER BY o.Order_Date DESC) AS PreviousOrder
FROM Orders
ORDER BY Orders.ORDER_DATE, Orders.PRODUCT_ID

在示例数据中,每个product_id对于每个订单都有不同的日期,因此仅使用ORDER BY日期的子查询就足够了,但是,Access中的Top查询返回匹配项,因此如果可能存在重复,则最好订购由相关字段和唯一 ID 组成。

关于ms-access - 滞后分区相当于 MS Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12084963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com