gpt4 book ai didi

sql - PostgreSQL、GROUP BY 和 Window 函数

转载 作者:行者123 更新时间:2023-11-29 12:50:16 25 4
gpt4 key购买 nike

我在 PostgreSQL 中得到了以下查询,它可以显示记录:

'SELECT TO_CHAR(date_trunc(\'hour\', time::timestamp), \'YYYY-MM-DD HH24:MI:SS\') AS time_from,
TO_CHAR(date_trunc(\'hour\', time::timestamp) + interval \'1 hour\', \'YYYY-MM-DD HH24:MI:SS\') AS time_to,
SUM(km) AS km
FROM cars
GROUP BY date_trunc(\'hour\', time::timestamp) LIMIT 1000 OFFSET 50'

我想添加 SUM(km) OVER() as km_total 以获得 km 的总量,因为我有 limitoffset 在我的查询中。

但是我得到了错误:

error: column "cars.km" must appear in the GROUP BY clause or be used in an aggregate function

但是我不允许将它添加到我的GROUP BY,这会给我以下错误:

error: window functions are not allowed in GROUP BY

最佳答案

你想要:

   SUM(SUM(km)) OVER () AS total_km

SUM() 的嵌套初看起来很奇怪。内部的 SUM(km) 是聚合函数。外层的 SUM() 是窗口函数。

关于sql - PostgreSQL、GROUP BY 和 Window 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55830900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com