如何跟踪sql中每一行的差异

Posted

技术标签:

【中文标题】如何跟踪sql中每一行的差异【英文标题】:How to track differences on each rows in sql 【发布时间】:2021-04-22 15:15:25 【问题描述】:

我有这个审计表,想在我的视图上添加一个硬编码的状态报告。记录编号是动态的,取决于进行了多少更改。我在想如果切换来操作数据,这是否可能?还是我需要使用循环?

DBAction    DateFrom    Dateto  Status
Update  12/15/2020  12/25/2021  Date To has been updated
Update  12/15/2020  12/15/2021  Date From has been updated
Insert  12/13/2020  12/15/2021  New

感谢您的宝贵时间。

【问题讨论】:

你能用你的审计表中的数据样本创建一个 db fiddle 吗? 嗨,杰拉德,你能给我一个提示或分享一个关于如何实现这一目标的逻辑吗? 一个链接,也许? db-fiddle.com 这里是链接:db-fiddle.com/f/tgR5p3nW1GBnCDW6PGzJJp/0 您好,我再次发现了一个有用的 sql 函数,即 LAG/LEAD。此功能将满足我的要求。谢谢你,祝你有美好的一天。 【参考方案1】:

使用 Lag/Lead sql 函数将满足这项工作。

【讨论】:

以上是关于如何跟踪sql中每一行的差异的主要内容,如果未能解决你的问题,请参考以下文章

SQLite如何计算同一张表的两个变量之间的差异[关闭]

SQL:StartTime 列的当前行与 EndTime 列的上一行之间的差异

有没有办法使用 SQL 或 EXCEL 跟踪两个表的更改?

如果行之间的差异超过 1 分钟,如何对数据进行分组

SQL - 如何显示多行结果之间的差异

如何获取不同 SQL 表中每一行的 PKey 和价格?