Mysql中两行之间的差异[已关闭]

bkhjykvo  于 2023-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(134)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

昨天关门了。
Improve this question
我需要得到两行的差。问题是,我可以得到它,但只为下一行,我需要的差异,为更高的一行。因此,ID为1686的行有275次购买,下周具有相同ID的帐户在3336 ID行中有277次购买,这意味着他在第一周购买了两次,有277次购买。有没有可能在没有索引列的情况下这样做?因为我没有这个权利。

1l5u6lss

1l5u6lss1#

SELECT id, ak_id, datalaikas, purchases_cnt,
       LEAD(purchases_cnt) OVER (PARTITION BY ak_id ORDER BY id) - purchases_cnt AS diff
FROM ai_clv
WHERE ak_id = 14770
ORDER BY id;
plicqrtu

plicqrtu2#

使用框架应该可以:

SELECT id, ak_id, datalaikas, purchases_cnt,
       NTH_VALUE(purchases_cnt, 2) OVER w - purchases_cnt AS 'diff'
FROM ai_clv
WHERE ak_id = 14770
WINDOW w AS (PARTITION BY ak_id  ORDER BY id 
             ROWS BETWEEN 0 PRECEDING AND 1 FOLLOWING)

相关问题