月平均mysql

时间:2018-03-16 11:08:06

标签: php mysql

+------+------+------------+--------------------+
|  id  | C_Br | C_Date     | daily_typing_pages |
+------+------+------------+--------------------+
|   1  | 51   | 2007-01-01 |        100         |
|   2  | 52   | 2007-01-01 |        100         |
|   3  | 53   | 2007-01-01 |        100         |
|   3  | 54   | 2007-01-01 |        100         |
|   4  | 51   | 2007-01-02 |        220         |
|   5  | 52   | 2007-01-02 |        300         |
|   5  | 53   | 2007-01-02 |        350         |
+------+------+------------+--------------------+

我正在尝试使用以下查询计算每个日期的平均值:

SELECT Month(C_Date) as Date,avg(daily_typing_pages) 
FROM tbl_data 
GROUP BY C_Br,Month(C_Date)

但是,不是将其除以一个月中的天数,而是将其除以C_Br的数量。 是否有任何解决方案来计算月平均值(假设每日总日数_每天的总和为一个单位)

2 个答案:

答案 0 :(得分:2)

SELECT Month(C_Date) as Date,sum(daily_typing_pages)/DAY(LAST_DAY(max(C_Date))) 
FROM tbl_data 
GROUP BY C_Br,Month(C_Date)

日期明智的平均()

SELECT C_Date as Date,avg(daily_typing_pages) as AVG
FROM tbl_data 
GROUP BY C_Date;

答案 1 :(得分:0)

你应该尝试平均月份和年份,所以这是查询。

SELECT CONCAT(YEAR(t.`C_Date`), '-', MONTH(t.`C_Date`)) AS ym, AVG(t.`daily_typing_pages`) 
FROM tbl_data t
WHERE 1
GROUP BY ym

ym是年份和月份,我用它来分组结果和计算平均值。