栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用SQL有效地确定行之间的更改

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用SQL有效地确定行之间的更改

您可以尝试一下-我不保证它的性能会更好,但这是我通常将行与“上一个”行相关联的方式:

SELECt    * --TODO, list columnsFROM    data d       left join    data d_prev       ond_prev.time < d.time --TODO - Other key columns?       left join    data d_inter       ond_inter.time < d.time andd_prev.time < d_inter.time --TODO - Other key columns?WHERe    d_inter.time is null AND    (d_prev.value is null OR d_prev.value <> d.value)

(我认为这是正确的-可以使用一些样本数据来对其进行验证)。

基本上,这种想法是将表与其自身连接起来,并针对“上一个”行的每一行(在中

d
)找到候选行(在中
d_prev
)。然后进行进一步的联接,以尝试找到
d_inter
存在于当前行(in
d
)和候选行(in
d_prev
)之间的行(in )。如果我们找不到这样的行(
d_inter.time isnull
),则该候选项确实是前一行。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441583.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号