不建议在数据库层面做,你应该将所有记录查询出来后在代码层用map之类的容器实现,效率要高得多。如果非要在数据库层实现的话可以自连接后查询。
-- 不推荐SELECT * FROM my_table AS t1, my_table AS t2
WHERE t1.id=t2.id AND t1.time=t2.time
select * from 表 where year(字段)>2011 and Year(字段)<2012 或者select * from 表 where 字段 between '2011' and '2012'
你要搞清楚 DATE_FORMAT 函数的用法,该函数是格式时间的一个函数,按照一个格式输入时间。原型为DATE_FORMAT(日期,格式)
其中格式为:%Y 表示年份,%m月份, %d 天数,其他部分会原样输出
'%Y-%m',会按照 年-月输出: 2013-10,其中 -线原样输出
'2012-%m-%d',会按照 年-月-日输出: 2012-10-18,其中2012 和 - 部分原样输出。
你的语句可以改成
select DATE_FORMAT(来电时间,'%Y-%m') as yue, 问题类别 , count(1) as num from mytable where 问题类别='农村合作医疗' and 来电时间 >= '2012-1-1' and 来电时间 <'2013-1-1' group by DATE_FORMAT(来电时间,'%Y-%m') ,问题类别 ORDER BY 问题类别, yue
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)