使用了窗口函数 LAG 来获取上一行的余量,通过LAG来访问上一行的数据
WITH CTE AS (
SELECT
物品,
余量 - LAG(余量) OVER (PARTITION BY 物品 ORDER BY 更新时间) AS 用量,
更新时间
FROM
your_table
)
SELECT
物品,
SUM(用量) AS 每小时用量,
DATE_TRUNC('hour', 更新时间) AS 每小时起始时间
FROM
CTE
GROUP BY
物品, DATE_TRUNC('hour', 更新时间)
ORDER BY
物品, DATE_TRUNC('hour', 更新时间);
- 本文标题: SQLServer计算两条数据的差
- 文章分类:【SQLServer】
- 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
- 上一篇:Vue3 router 找不到push
- 下一篇: vue2.0 打包发布完整版解决页面空白