+------+------+------------+--------------------+
| 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的数量。 是否有任何解决方案来计算月平均值(假设每日总日数_每天的总和为一个单位)
答案 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
是年份和月份,我用它来分组结果和计算平均值。