MySQL月度趋势

时间:2012-05-14 22:34:08

标签: mysql timestamp trending

我正在使用图表程序来显示每月的库存总数。到目前为止,我只有5月的数据(6月1日将自动将6月数据插入表中并加上时间戳)。

我正在使用以下查询,并返回1行显示5月份的375台设备,如下所示:

devices     created_month
-------     -------------
375         5/1/2012

此查询是否设置正确,以便在6月1日如果我有380个设备,我将收到以下输出?

devices     created_month
-------     -------------
375         5/1/2012
380         6/1/2012

我想确认我正确地解释了这个问题。

SELECT count(device_type) as devices, description, ip_address, user_tag,                  
  DATE_FORMAT(LAST_UPDATE,"%Y-%m") as created_month 
FROM ahrq_inventory_internal 
GROUP BY created_month

1 个答案:

答案 0 :(得分:0)

是的,我相信您的代码会正常运行。

您在查询中有其他列(description, ip_address, user_tag)并且不需要它们。

事实上,拥有它们会产生误导。列中的任何值都没有意义,因为如果按月对它们进行分组,这些值没有意义 - 除非它们对整个月的每条记录都具有相同的值!

因此,我建议将其更改为:

SELECT count(device_type) as devices, 
  DATE_FORMAT(LAST_UPDATE,"%Y-%m") as created_month 
FROM ahrq_inventory_internal 
GROUP BY created_month