我有一张表,如下所示:
CREATE TABLE counts
(
T TIMESTAMP NOT NULL,
C INTEGER NOT NULL
);
我从中创建以下视图:
CREATE VIEW micounts AS
SELECT DATE_TRUNC('minute',t) AS t,SUM(c) AS c FROM counts GROUP BY 1;
CREATE VIEW hrcounts AS
SELECT DATE_TRUNC('hour',t) AS t,SUM(c) AS c,SUM(c)/60 AS a
FROM micounts GROUP BY 1;
CREATE VIEW dycounts AS
SELECT DATE_TRUNC('day',t) AS t,SUM(c) AS c,SUM(c)/24 AS a
FROM hrcounts GROUP BY 1;
现在,当我想创建每月计数以了解如何将每日总和除以得出平均列a(即特定月份中的天数)时,就会出现问题。
我知道要在PostgreSQL中获得成功,您可以:
SELECT DATE_PART('days',DATE_TRUNC('month',now())+'1 MONTH'::INTERVAL-DATE_TRUNC('month',now()))
但是我不能使用now()
,我必须以某种方式让它知道分组完成的月份。任何建议,即什么应该取代 ??? 在此视图中:
CREATE VIEW mocounts AS
SELECT DATE_TRUNC('month',t) AS t,SUM(c) AS c,SUM(c)/(???) AS a
FROM dycounts
GROUP BY 1;
更快,更短一点,您得到的是天数,而不是interval
:
SELECT EXTRACT(day FROM date_trunc('month', now()) + interval '1 month'
- interval '1 day')
可以将多个单位合并为一个interval
值。因此我们可以使用'1 mon - 1 day'
:
SELECT EXTRACT(day FROM date_trunc('month', now()) + interval '1 mon - 1 day')
(mon
,month
或months
对月份单位使用相同的html" target="_blank">方法。)
将 每日总和 除以当月的天数(原始问题):
SELECT t::date AS the_date
, SUM(c) AS c
, SUM(c) / EXTRACT(day FROM date_trunc('month', t::date)
+ interval '1 mon - 1 day') AS a
FROM dycounts
GROUP BY 1;
将 每月总和 除以 当月 的天数(更新的问题):
SELECT DATE_TRUNC('month', t)::date AS t
,SUM(c) AS c
,SUM(c) / EXTRACT(day FROM date_trunc('month', t)::date
+ interval '1 mon - 1 day') AS a
FROM dycounts
GROUP BY 1;
GROUP BY
如果要使用单个查询级别,则必须重复该表达式。
或使用 子查询 :
SELECT *, c / EXTRACT(day FROM t + interval '1 mon - 1 day') AS a
FROM (
SELECT date_trunc('month', t)::date AS t, SUM(c) AS c
FROM dycounts
GROUP BY 1
) sub;
问题内容: 我正在尝试检索当月的哪一天。 例如今天是2011年8月29日。 我想做的只是获取天数,例如29或30。它是每月的哪一天。 我将如何去做? 问题答案: 您需要获取一个Calendar实例并将其作为月份中的某天 您还可以获取DAY_OF_WEEK,DAY_OF_YEAR,DAY_OF_WEEK_IN_MONTH等。
Python3 实例 以下代码通过导入 calendar 模块来计算每个月的天数: # Filename : test.py # author by : www.runoob.com import calendar monthRange = calendar.monthrange(2016,9) print(monthRange) 执行以上代码输出结果为: (3, 30) 输出的是一个元
我的数据如下: 我想计算每个组每年日期之间的平均天数。我尝试了以下代码,但收到以下错误: 我的日期列的类别是日期。
我在研究这个问题时发现的几乎所有内容都是针对Log4J1.x的,并讨论了一个似乎在2.0中不存在的datePattern参数。 下面是我的log4j2.xml文件: 我正在将信息和以上内容写入日志文件,并将调试写入控制台(目前)。这些文件被写得很好,但它们似乎每天都在滚动(这似乎是默认的)。
我有一个netCDF文件(. nc),其中包含16年(1998-2014年)的日降水量(5844层)。3个维度是时间(大小5844)、纬度(大小19)和经度(大小20)R中是否有一种简单的方法来计算每个rastercell: < li >每月 到目前为止,我已经: 我的第一个挑战是计算每个光栅单元的月平均值。我不确定在牢记最终目标(累积比较)的同时,如何最好地进行。我怎样才能轻松地访问某个月的几天
似乎不能处理一个数字的月份中的某一天: 在此示例中,正确解析日期,但引发异常。如果我使用零填充日期,例如“05/03/1969”,则两者都起作用。但是,如果每月的日期或每年的月份都是个位数,则将引发异常。 什么是格式来解析一个数字和两位数的月份和一年中的月份?