我正在尝试编写一个脚本,返回一个包含每个月份天数的列表。它参考了这张表格。
但是我遇到了这个错误:
CREATE TABLE generic.time_series_only (measurementdatetime TIMESTAMP WITHOUT TIME ZONE NOT NULL)
这只是一个按时间顺序排列的时间序列(在连接具有不同位置中断的数据表时非常有用,但如果您想要输出连续的时间序列,则可能有更聪明的方法,但我尚未找到)。
SELECT date_part('year'::text, time_series_only.measurementdatetime) AS
measyear,
date_part('month'::text, time_series_only.measurementdatetime) AS
measmonth,
date_trunc('month'::text, time_series_only.measurementdatetime) +
'1 mon'::interval - date_trunc('month'::text,
time_series_only.measurementdatetime) AS days_in_month
FROM generic.time_series_only
GROUP BY date_part('year'::text, time_series_only.measurementdatetime),
date_part('month'::text, time_series_only.measurementdatetime)
ORDER BY date_part('year'::text, time_series_only.measurementdatetime),
date_part('month'::text, time_series_only.measurementdatetime);
但是我遇到了这个错误:
ERROR: column "time_series_only.measurementdatetime" must appear in the GROUP BY clause or be used in an aggregate function
我不能将这一列放在GROUP BY子句中,因为这样我会得到time_series_only表中每个条目的结果,而我无法想出一种使用聚合函数得到相同结果的方法。有任何建议都非常欢迎 :-)