我的数据如下所示:
我想获得该用户的每行数据与上一行数据之间的差异,如下所示:
我可以使用 LAG 功能来做到这一点,但不要求差异用户必须相同。我怎样才能用postgres中的条件来做到这一点?
最佳答案
我们可以使用LAG()
,如下所示:
SELECT id, user, data, date,
data - LAG(data) OVER (PARTITION BY user ORDER BY date) AS diff
FROM yourTable
ORDER BY date, user;
关于sql - 带条件的 Postgresql LAG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75374919/