从MySQL的datetime计算几个月的数月

时间:2012-04-12 15:13:35

标签: mysql sql database algorithm

我一直在试图提出一个查询来显示显示年份的日期时间 - >月 - >数(与该年相同的月数)。

实施例: 我想像这样显示我的结果:

Year    Mth     #
2012    Apr     595
2012    Mar     27
2011    Oct     1
etc...

我的表看起来像这样:

create table `log` (
    `datetime` datetime ,
    `username` varchar (75),
    `clientaddr` varchar (225),
    `action` varchar (75),
    `details` varchar (300)
);

我想在日志表中显示所有记录,如上所示。有人有什么建议吗?随意共享算法来做同样的事情。

提前致谢:)

2 个答案:

答案 0 :(得分:5)

怎么样:

select year(datetime) as year, monthname(datetime) as month, count(*) from log group by year, month order by year, month;

答案 1 :(得分:1)

SELECT YEAR(`DateTime`) AS Year, MONTH(`DateTime`) as Month, COUNT(*) AS Count
FROM Log
GROUP BY YEAR(`DateTime`), MONTHNAME(`DateTime`)
ORDER BY Year DESC, Month DESC

建议不要将DateTime用作列名。