【发布时间】:2020-01-17 09:48:18
【问题描述】:
我很难找出正确的问题,但我有以下查询,我已经能够得到连续行之间的差异。
我的问题是(如图所示)当 icao_address 和 flight_number 更改(我想要)然后 我希望发生更改的行(更改 icao_address 和 flight_number)重置为零强>。
我的意图是按 icao_address 和 flight_number 对查询进行分组。
WITH
temptable AS (
SELECT
date(timestamp) as flight_date,
timestamp,
UNIX_SECONDS(timestamp) AS timestamp_unix,
icao_address,
flight_number,
LAG(UNIX_SECONDS(timestamp)) OVER (ORDER BY timestamp) AS value2
FROM
`table`
WHERE
(icao_address = '70C0C7' and flight_number = 'WY144') or (icao_address = '750467' and flight_number = 'AK1311') and
flight_number is not null and
timestamp BETWEEN '2020-01-01'
AND '2020-01-02'),
relation2 AS (
SELECT
flight_date,
timestamp,
timestamp_unix,
timestamp_unix - value2 AS difference,
icao_address,
flight_number
FROM
temptable
)
select *
from relation2
在图像中,在第 11 行,在差异列下,考虑到 icao_address 和 flight_number 的变化,我希望那里有一个零。这是可能的,或任何其他方式来做到这一点。我正在尝试执行一个案例,但没有取得任何进展。
【问题讨论】:
标签: sql google-bigquery