Sql 查找DB2中创建的每月平均记录数

Sql 查找DB2中创建的每月平均记录数,sql,db2,Sql,Db2,下面是查找每月创建记录数平均值的查询。 创建日期是时间戳 select year,month, (ymcount/maxmonthdays) as monthaverage ymcount from ( select year,month,maxmonthdays, count(1) ymcount from ( SELECT year(created) as year, MONTHNAME(created) as month, day(date(date(created))-(day(da

下面是查找每月创建记录数平均值的查询。 创建日期是时间戳

select year,month, (ymcount/maxmonthdays) as monthaverage ymcount  from (
select year,month,maxmonthdays, count(1) ymcount  from (
SELECT year(created) as year, MONTHNAME(created) as month,
day(date(date(created))-(day(date(created)) -1) days + 1 month -1 day)  as maxmonthdays 
FROM tablename )
group by year,month,maxmonthdays );
注意:要查找一个月的最大天数,我使用了下面的命令

day(date(date(created))-(day(date(created)) -1) days + 1 month -1 day)  as maxmonthdays 

可以使用DB2 9.7版之后支持的“最后一天”功能,我使用的是9.5版。

您有什么问题?此外,您是否可以假设每天都创建记录,或者计算当月天数是个问题?这个问题似乎与主题无关,因为它不是一个问题。您的查询还将忽略创建的
上的任何索引(由于使用了
年(…)
月(…)
函数),对于实际大小的桌子,使其变慢。您是否有答案(问题/答案主要针对SQL Server,但该技术仍然适用)?如果没有,你可以为一个范围动态生成一个。。。