SQL 将每小时数据分成半小时
SQL divide hourly data into half hourly
我有一列包含来自两个不同来源的数据 - 一组以每小时为粒度,一组以半小时为单位。
Datetime Source Value
01/01/2018 14:00 A 20
01/01/2018 14:00 B 15
01/01/2018 14:30 B 11
我想每半小时用这些净值创建一个新专栏。
Datetime Net Value
01/01/2018 14:00 35 --20+15
01/01/2018 14:30 31 --20+11
感谢任何帮助,
谢谢
您试过像这样只在日期和时间加入吗?
SELECT b.Datetime
, ISNULL(a.val, 0) + ISNULL(b.val, 0)
FROM myTable b
JOIN myTable a
ON CAST(b.Datetime AS DATE) = CAST(a.Datetime AS DATE)
AND DATEPART(HOUR, b.Datetime) = DATEPART(HOUR, a.Datetime)
AND b.source = 'B'
AND a.source = 'A'
来自评论(谢谢!):try it in this DB Fiddle.
我有一列包含来自两个不同来源的数据 - 一组以每小时为粒度,一组以半小时为单位。
Datetime Source Value
01/01/2018 14:00 A 20
01/01/2018 14:00 B 15
01/01/2018 14:30 B 11
我想每半小时用这些净值创建一个新专栏。
Datetime Net Value
01/01/2018 14:00 35 --20+15
01/01/2018 14:30 31 --20+11
感谢任何帮助,
谢谢
您试过像这样只在日期和时间加入吗?
SELECT b.Datetime
, ISNULL(a.val, 0) + ISNULL(b.val, 0)
FROM myTable b
JOIN myTable a
ON CAST(b.Datetime AS DATE) = CAST(a.Datetime AS DATE)
AND DATEPART(HOUR, b.Datetime) = DATEPART(HOUR, a.Datetime)
AND b.source = 'B'
AND a.source = 'A'
来自评论(谢谢!):try it in this DB Fiddle.