根据一天的第一个值和一天的最后一个值

时间:2018-03-21 04:52:10

标签: sql sql-server

我在SQL中有4列,其中我只使用了三列。我需要创建一个view,它根据一天的第一个值和使用TSTAMP列的一天的最后一个值减去total_energy_generated_till值。

我如何实现同样的目标?有关表格信息,请参见图像。

之前它有timestamp,但我将其转换为Date数据类型。

SQL表

enter image description here

Sample Data

2 个答案:

答案 0 :(得分:1)

试试这个:

CREATE VIEW Your_View_Name
AS
SELECT TSTAMP,Inverter_ID
    ,MAX(TotalEnergyGenerated)-MIN(TotalEnergyGenerated) [total_energy_generated_till]
GROUP BY TSTAMP, Inverter_ID

答案 1 :(得分:0)

如果TimeStamp是唯一的,你可以这样做:

select *
from myTable a
inner join
(
    select 
        MinTimeStamp = min(TimeStamp),
        MaxTimeStamp = max(TimeStamp)
    from myTable
) b
on a.TimeStamp = b.TimeStamp

如果没有,row_number也可能会起作用