【问题标题】:Monthly averages for period passed this year今年过去期间的月平均值
【发布时间】:2015-07-24 23:39:58
【问题描述】:

我有数天数周数天数 几年的几个月:-)-O

我可以做全年、当前季度、当前月份和当前 周,但现在还想知道所有人的(总)月平均值 当前年份的当前月份之前的几个月。

如果我(今天)在 2015-01-01 到 2015-06-30 总共有 600 个,我想要它 像这样说:

Average 2015-06-30 100

如果在 8 月份我在 2015-01-01 到 2015-07-31 总共有 800 个,我想说

Average 2015-06-30 114.29

(我可以对 114.28571428571429 进行四舍五入 :-)-O)

提前致谢

el

【问题讨论】:

  • 我不明白 6 个月的平均值与 3 个月的平均值(或任何时期)有何不同。
  • 我认为这不是他想要的——我相信他想要的月数不定,一直到最后一个完整月——所以可能是 4 个月、7 月、9 日、11 日......他不想每次运行 SELECT 时都修改查询。 OP 这里有很多日期函数dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html - 你可能不得不使用很多来拼凑一个 SELECT .... WHERE SomeVariable BETWEEN nnnnnnnn 和 mmmmmmm。如果我得到它,我会发布一个答案

标签: mysql


【解决方案1】:

经过测试(使用我的数据,因为您没有提供任何数据):

SELECT .... 从您的表 WHERE.... SomeDateVariable BETWEEN DATE_FORMAT(now(),'%Y-01-01') AND LAST_DAY(curdate()-INTERVAL 30 DAY);

这将为您计算当年 1 日和上个月最后一天之间的数据 - 我相信您会要求这样做。请选择我的答案。

【讨论】:

  • 谢谢,我应该写到我知道如何获得前一个(实际上是灵活的)间隔。我可以在该时间间隔内平均付款,但我想知道该时间间隔的每月平均数是多少。一月总计:100 二月总计:100 三月总计:100 我想看 100 一月总计:100 二月总计:200 三月总计:300 我想看 200 一月总计:100 二月总计:200 三月总计:300 四月总计: 400 我想看 250 我希望它更清楚,(不幸的是我无法更好地格式化)el
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-13
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多