我有一个mySql表的调用细节。详细信息表有一个列调用日期,它的日期类似于 2015-02-01
。同一日期可以有多个行。
我想找出一年中每个月它包含多少行COUNT()
。
例如,
'568', '192.168.1.100', '790', '1.00', '2014-11-14'
'569', '192.168.1.100', '780', '1.00', '2014-11-14'
'699', '192.168.1.100', '780', '1.00', '2014-11-16'
'767', '192.168.1.102', '780', '1.00', '2014-12-15'
'768', '192.168.1.102', '780', '1.00', '2014-12-15'
这应该像这样给出 COUNT:
'2014-11-' as 3
'2014-12-' as 2
我如何使用 sql 选择查询来做到这一点。
最佳答案
Select DATE_FORMAT(My_Call_Date_Field, '%Y-%m') as MyYearAndMonth, Count(*) as MyCount
From My_Call_Details_Table Group By DATE_FORMAT(My_Call_Date_Field, '%Y-%m')
您还可以使用 CAST function of MySql .
Select substr(convert(My_Call_Date_Field, CHAR), 1, 7) as MyYearAndMonth, Count(*) From My_Call_Details_Table Group By substr(convert(My_Call_Date_Field, CHAR), 1, 7) Order By substr(convert(My_Call_Date_Field, CHAR), 1, 7)
作为对特定于您案例的其他信息的回应,如您对 Ed King 先前回答的评论中所见:这里是:
SELECT DATE_FORMAT(detailtable.date, '%Y-%m') , AVG(detailtable.loadstate) as "load",count(detailtable.loadstate) as "count" from ruby_snmp.detailtable where ipaddtress='192.168.1.102' and date LIKE '2014-12-%' GROUP BY DATE_FORMAT(detailtable.date, '%Y-%m')
关于mysql - 基于mySql中列值的一部分分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28145500/