Skip to content

Fix prev/next expression examples #3637

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: latest
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 16 additions & 11 deletions api/_hyperfunctions/time_bucket_gapfill/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,17 +75,19 @@ to fill gaps at the beginning of the queried time range. Note that the

```sql
SELECT time_bucket_gapfill('1 day', time) AS day,
device_id,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add this to the group by clause too?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes good point. GROUP BY device_id, day.

device_id should be either in GROUP BY or WHERE to make query realistic.

locf(
avg(value),
(
SELECT value
FROM metrics
WHERE time > '2021-12-31 00:00:00+00'::timestamptz
ORDER BY time ASC
FROM metrics m2
WHERE time < '2021-12-31 00:00:00+00'::timestamptz AND
m.device_id=m2.device_id
ORDER BY time DESC
LIMIT 1
)
) as value
FROM metrics
FROM metrics m
WHERE time > '2021-12-31 00:00:00+00'::timestamptz
AND time < '2022-01-10 00:00:00-00'::timestamptz
GROUP BY day
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
GROUP BY day
GROUP BY day, device_id

Expand Down Expand Up @@ -148,24 +150,27 @@ arguments to `interpolate` to extrapolate the missing values starting and ending

```sql
SELECT time_bucket_gapfill('1 day', time) AS day,
device_id,
interpolate(
avg(value),
(
SELECT (time, value)
FROM metrics
WHERE time > '2021-12-31 00:00:00+00'::timestamptz
ORDER BY time ASC
FROM metrics m2
WHERE time < '2021-12-31 00:00:00+00'::timestamptz AND
m.device_id=m2.device_id
ORDER BY time DESC
LIMIT 1
),
(
SELECT (time, value)
FROM metrics
WHERE time < '2021-12-10 00:00:00-00'::timestamptz
ORDER BY time DESC
FROM metrics m2
WHERE time > '2021-12-10 00:00:00-00'::timestamptz AND
m.device_id=m2.device_id
ORDER BY time ASC
LIMIT 1
)
) as value
FROM metrics
FROM metrics m
WHERE time > '2021-12-31 00:00:00+00'::timestamptz
AND time < '2022-01-10 00:00:00-00'::timestamptz
GROUP BY day
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
GROUP BY day
GROUP BY day, device_id

Expand Down