简体   繁体   English

如何根据时间间隔对这个 sql 查询进行分组?

[英]How to group this sql query according to time intervals?

I have data like these:我有这样的数据:

Kod科德 HareketTarihi哈雷克塔里希 HareketZamani哈雷克特扎马尼 Miktar米克塔尔
202001322-2 202001322-2 26.1.2021 26.1.2021 15:47 15:47 26.10 26.10
202001322-2 202001322-2 27.1.2021 27.1.2021 07:46:52 07:46:52 0.00 0.00
202001322-2 202001322-2 27.1.2021 27.1.2021 09:48 09:48 102.00 102.00
202001322-2 202001322-2 27.1.2021 27.1.2021 10:51 10:51 335.25 335.25

I would like to group like this:我想这样分组:

Kod科德 HareketTarih-Zamani哈雷克塔里-扎马尼 Miktar米克塔尔
202001322-2 202001322-2 26.01.2021 08:00 - 27.01.2021 08:00 26.01.2021 08:00 - 27.01.2021 08:00 26.10 26.10
202001322-2 202001322-2 27.01.2021 08:00 - 28.01.2021 08:00 27.01.2021 08:00 - 28.01.2021 08:00 437.25 437.25

How can i do that?我怎样才能做到这一点?

Untested as I don't have your tables, but perhaps:未经测试,因为我没有你的桌子,但也许:

WITH (
select 
  Kod, 
  DATE((timestamp_format(HareketTarihi || ' ' || HareketZamani) - 8 hours)) as HareketTarihi,
  Miktar
from Table1 
) AS CTE1,
(select 
  Kod, 
  HareketTarihi as HareketTarihi,
  sum(Miktar) as Miktar
from CTE1
group by Kod, HareketTarihi
) AS CTE2,
Select 
  Kod,
  HareketTarihi || ' 08:00 - ' || (HareketTarihi + 1 day) || ' 07:59' as HareketTarih-Zamani,
  Miktar
from CTE2 

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

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