首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询用于计算每隔30分钟列出的消耗读数,需要按日期、时间戳和仪表序列号DESC进行排序。

SQL查询用于计算每隔30分钟列出的消耗读数,需要按日期、时间戳和仪表序列号DESC进行排序。
EN

Stack Overflow用户
提问于 2020-07-10 15:50:26
回答 1查看 268关注 0票数 0

嗨,堆栈溢出成员:)

我需要获得每一行的消费前向活动读取。将差额放在消费栏中。每隔30分钟差异一次。17897352 - 17897335 = 17作为消费/30分钟,但我不想按日期分组,但它需要按日期,时间,邮票,DESC订购。

样本表内容:

代码语言:javascript
复制
DeviceReadingID MeterRefID  DateTimeStamp   ForwardActiveReading  
284729948   ELON102582  2020-07-01 00:00:00.000 17897352
284756341   ELON102582  2020-06-30 23:30:00.000 17897335
284746613   ELON102582  2020-06-30 23:00:00.000 17897319
284710326   ELON102582  2020-06-30 22:30:00.000 17897303
284743959   ELON102582  2020-06-30 22:00:00.000 17897286
284762422   ELON102582  2020-06-30 21:30:00.000 17897270
284739309   ELON102582  2020-06-30 21:00:00.000 17897253
284758349   ELON102582  2020-06-30 20:30:00.000 17897237
284675646   ELON102582  2020-06-30 20:00:00.000 17897220
284686333   ELON102582  2020-06-30 19:30:00.000 17897204
284559642   ELON102582  2020-06-30 19:00:00.000 17897187
284560601   ELON102582  2020-06-30 18:30:00.000 17897171
284659743   ELON102582  2020-06-30 18:00:00.000 17897154
284657476   ELON102582  2020-06-30 17:30:00.000 17897111
284655871   ELON102582  2020-06-30 17:00:00.000 17897055
284636705   ELON102582  2020-06-30 16:30:00.000 17896998
284653158   ELON102582  2020-06-30 16:00:00.000 17896941
284624220   ELON102582  2020-06-30 15:30:00.000 17896885
284619064   ELON102582  2020-06-30 15:00:00.000 17896828

谢谢你,我真的很感谢你在上面的帮助。我似乎想不出怎么做

我试着用下面的例子,但没有用

代码语言:javascript
复制
        WITH    SampleData  AS
    (
            SELECT  [TimeStamp], [MeterID], [Count]
            FROM    (   VALUES
                        ('2013-09-28 00:00:10', 'BA123', 1453.034),
                        ('2013-09-28 00:01:12', 'BA123', 1454.770),
                        ('2013-09-28 00:00:14', 'BB777', 2351.000),
                        ('2013-09-28 23:59:50', 'BA123', 1470.120),
                        ('2013-09-29 00:00:05', 'BA123', 1470.445)
                    )   AS SampleData([TimeStamp], [MeterID], [Count])
    )
    
    
    
    SELECT      MeterId, CAST([TimeStamp] AS datetime) AS [DateConsumption],
                MAX([Count]) - MIN([Count]) AS [CountConsumption]
    FROM        SampleData
    GROUP BY    MeterID, CAST([TimeStamp] AS datetime)
    --WITH ROLLUP

我想要执行一个Select,该查询将给出以下结果:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-10 16:11:15

此查询正在向示例表输出中添加消耗列。

代码语言:javascript
复制
select *, ForwardActiveReading - lead(ForwardActiveReading, 1, 0) over(order by DateTimeStamp desc)
from yourtable
order by DateTimeStamp desc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62837930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档