繁体   English   中英

具有联接同一表的简单SQL查询,并在一个字段中从2行获取值

[英]Simple SQL query with join same table and get value from 2 row in one field

我有一些数据

样本表数据

我需要这样的查询结果:

结果集

使用此查询:

select 
    early.sensor,
    early.event,
    late.value - early.value as value
from data_table as early 
inner join data_table as late on 
    early.sensor=late.sensor and early.event=late.event
where late.event_date > early.event_date;

我得到这个结果:

图片

假设输入表被称为“ data_table”,并且其中的第四列被称为event_date,则应执行以下操作:

select
    early.sensor,
    early.event,
    late.value - early.value as value
from
    data_table as early
    inner join data_table as late on 
        early.sensor=late.sensor
        and early.event=late.event
where
    late.event_date > early.event_date;

但是,如果有两个以上的值(如@Thorston Kettner所问),那么您将需要一些更复杂的逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM