sql查询-使用GROUP BY分组对每日的数据进行月统计 - Yoooshiki

时间:2024-03-02 12:54:33

sql查询-使用GROUP BY分组对每日的数据进行月统计

有这么一张表,存的是建筑每天的能耗用量:

image_1c55dh1kq44916tdvag1opj1umg9.png-92.7kB

(请不要吐槽字段名,毕竟这也不是我起的)

那么如果正常情况下,一个建筑一年就会有365条记录。
那么,如何可以根据月份数据(F_StartDay)进行汇总?得出12个值,分别是每个月数据的总和?

思路:

将 F_StartDay 转换为年月(DATE_FORMAT(F_StartDay, \'%Y%m\')),然后GROUP BY

具体可以这样写:

SELECT
	DATE_FORMAT(F_StartDay, \'%Y%m\'),
	SUM(F_DayValue)
FROM
	tb_c_energyitemdXXXX
WHERE
	F_BuildID = \'440XXXX\'
    AND F_StartDay LIKE \'2017%\'
    AND F_EnergyItemCode = \'01000\'
GROUP BY
	DATE_FORMAT(F_StartDay, \'%Y%m\');

这样就可以统计出每个月的总值。

image_1c55duop2giqv4oash104k2g213.png-40.7kB