【发布时间】:2013-01-16 14:13:52
【问题描述】:
我有一个MYSQL数据库查询如下:
SELECT name,
SUM(IF(date_format (date, '%b, %Y')= 'Dec, 2011', 1,0)) AS `month1`,
SUM(IF(date_format (date, '%b, %Y')= 'Jan, 2012', 1,0)) AS `month2`,
SUM(IF(date_format (date, '%b, %Y')= 'Feb, 2012', 1,0)) AS `month3`,
etc...
COUNT(*) AS total FROM table order by total
但是,我需要平均从第 1 个月到第 12 个月,而不是总数。
编辑 - 我需要保留求和的数字(month1,2 等),但我还需要计算它们的平均值。
所以,如果第 1-12 个月的结果是 -
55、60、70、54、89、58、68、78、65、89、73、81 总数为 840
我需要计算所有这些数字的平均值 (70)
谢谢
【问题讨论】:
-
使用 AVG 函数代替 SUM 函数
-
AVG什么的;您需要按月计算平均值吗? -
抱歉,我可能没说清楚。 Month1 的 SUM 会给我带来一个结果,比如 100、Month2 的 SUM、300 等。我需要所有这些 SUM 的平均值 - 即(Month1、Month2、Month3 - 12)的平均值
-
我建议重写您的查询,使其看起来更像这里的答案:stackoverflow.com/questions/1559201/…