Code Bye

新人请教交叉表查询


上面一张图是要得到的结果,下面是要查询的表。
解决方案:10分
select problem_mode,
       count(case when month(problem_date)=1 then 1 end) as n1,
	   count(case when month(problem_date)=2 then 1 end) as n2,
	   ......
from fixture_repires
where year(problem_date)=2015
group by problem_mode
解决方案:3分
http://blog.csdn.net/acmain_chm/article/details/4283943
MySQL交叉表
在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx(  id int primary key,  c1 c…
解决方案:6分
select problem_mode,sum(case when problem_date >= ""2015-01-01"" and problem_date < ""2015-02-01"" then 1 else 0 end)jan from fixture_repires group by problem_mode;
其它月份、一年的以此类推。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明新人请教交叉表查询