我一直在试图提出一个查询来显示显示年份的日期时间 - >月 - >数(与该年相同的月数)。
实施例: 我想像这样显示我的结果:
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)
);
我想在日志表中显示所有记录,如上所示。有人有什么建议吗?随意共享算法来做同样的事情。
提前致谢:)
答案 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用作列名。