12个月13周的平均运行时间

时间:2014-02-07 07:00:32

标签: mysql sql average

我有这样的表:

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table
(date     DATE NOT NULL PRIMARY KEY
,incoming   INT NOT NULL
,closed   INT NOT NULL
,outstanding INT NOT NULL
);

INSERT INTO my_table VALUES
('2013-02-01'   ,1448       ,1309      ,14914),
('2013-03-01'   ,1458       ,1492      ,14880),
('2013-04-01'   ,1392       ,1439      ,14833),
('2013-05-01'   ,1367       ,1273      ,14927),
('2013-06-01'   ,1331       ,1240      ,15018),
('2013-07-01'   ,1410       ,1336      ,15092),
('2013-08-01'   ,1284       ,1418      ,14958),
('2013-09-01'   ,1210       ,1286      ,14882),
('2013-10-01'   ,1158       ,1067      ,14973),
('2013-11-01'   ,989        ,1018      ,14944),
('2013-12-01'   ,791        ,932       ,14803),
('2014-01-01'   ,637        ,956       ,14484);

如何使用mysql查询计算12个月13周的平均表格当前日期?

我想要这样的结果

quarter   incoming  closed      outstanding
-------------------------------------
Q1        1416        1425          1460
Q2        1308        1345          1530
Q3         751         950          1412
Q4         825         945          1420

提前致谢

1 个答案:

答案 0 :(得分:0)

感谢您的所有建议。我找到了答案。也许对其他人有帮助。

从my_table中选择'Q1'quter,AVG(传入),AVG(突出),AVG(已关闭),其中日期BETWEEN DATE_ADD(CURDATE(),INTERVAL -12 MONTH)和DATE_ADD(CURDATE(),INTERVAL -9 MONTH ) 联盟 从my_table中选择'Q2',AVG(传入),AVG(突出),AVG(已关闭) 其中日期BETWEEN DATE_ADD(CURDATE(),INTERVAL -9 MONTH)和DATE_ADD(CURDATE(),INTERVAL -6 MONTH) 联盟 从my_table中选择'Q3',AVG(传入),AVG(突出),AVG(已关闭) 其中日期BETWEEN DATE_ADD(CURDATE(),INTERVAL -6 MONTH)和DATE_ADD(CURDATE(),INTERVAL -3 MONTH) 联盟 从my_table中选择'Q4',AVG(传入),AVG(突出),AVG(已关闭) 其中日期BETWEEN DATE_SUB(CURDATE(),INTERVAL 3 MONTH)和CURDATE()