本期任务:通过编写代码,来设计一个符合实际工作需要的分类统计报表。
 
 
 
 
 
 
 
 
一、通过MySQL的可视化工具Navicat premium,新建查询或创建存储过程来实现。具体步骤:打开Navicat--选择指定数据库--点击查询--右键单击,选择“新建查询”--编写以下代码:
 
 
 
 
 
 
 
 count 
 ( 
 case 
  sex  
 when 
  ' 
 男 
 '  
 then 
  ' 
 男 
 '  
 else 
  null  
 end 
 )  
 as  
 男 
 , 
 
 
 count 
 ( 
 case 
  sex  
 when 
  ' 
 女 
 '  
 then 
  ' 
 女 
 '  
 else 
  null  
 end 
 )  
 as 
  女, 
 
 
 
 
 count 
 ( 
 case 
  xueli  
 when 
  ' 
 研究生 
 '  
 then 
  ' 
 研究生 
 '  
 else  
 null  
 end 
 )  
 as 
  研究生, 
 
 
 count 
 ( 
 case 
  xueli  
 when 
  ' 
 本科 
 '  
 then 
  ' 
 本科 
 '  
 else 
  null  
 end 
 )  
 as 
  本科, 
 
 
 count 
 ( 
 case 
  xueli  
 when 
  ' 
 大专 
 ' 
  then 
  ' 
 大专 
 '  
 else 
  null  
 end 
 )  
 as 
  大专, 
 
 
 count 
 ( 
 case 
  xueli  
 when 
  ' 
 高中 
 '  
 then 
  ' 
 高中 
 '  
 else 
  null  
 end 
 )  
 as 
  高中, 
 
 
 count 
 ( 
 case 
  xueli  
 when 
  ' 
 中专 
 '  
 then 
  ' 
 中专 
 '  
 else  
 null  
 end 
 )  
 as 
  中专, 
 
 
 
 
 count 
 ( 
 case when  
 zhicheng  
 like 
  ' 
 正高级% 
 '  
 or 
  zhicheng  
 like 
  ' 
 研究员级高级% 
 '  
 then 
  ' 
 正高级 
 '  
 else 
  null  
 end 
 )  
 as 
  正高, 
 
 
 count 
 ( 
 casewhen 
  zhicheng  
 like 
  ' 
 高级% 
 ' 
  then 
  ' 
 高级 
 ' 
  else 
  null  
 end 
 )  
 as 
  副高, 
 
 
 count 
 ( 
 case when 
  zhicheng 
  like  
 '__师 
 ' 
  then 
  ' 
 中级 
 '  
 else 
  null  
 end 
 )  
 as  
 中级, 
 
 
 count 
 ( 
 case when 
  zhicheng 
  like 
  ' 
 助理%师 
 '  
 then 
  ' 
 初级 
 '  
 else 
  null  
 end 
 )  
 as 
  初级, 
 
 
 count 
 ( 
 case when 
  zhicheng  
 is null then 
  ' 
 无职称 
 '  
 else  
 null 
  end) as 
  无职称, 
 
 
 
 
 count(case when 
  zzmm 
  like 
  ' 
 中共%党员 
 ' 
  then 
  ' 
 中共党员 
 '  
 else  
 null  
 end 
 )  
 as  
 中共党员, 
 
 
 count(case when 
  zzmm  
 like 
  ' 
 九三学社 
 '  
 then 
  ' 
 九三学社 
 '  
 else 
  null  
 end) as 
  九三学社 
 
 
 
 from 
  hmc  
 group by 
  bumen  
 with rollup 
 ; 
 
 
 
 
 二、通过命令窗口或者MySQL创建一个存储过程procedure(无参),在过程体begin...end中编写代码(以命令窗口编写为例)。 
 
 
 
 
 step3:输入mysql –uroot –p,输入密码 
 
 
 step4:use huamingce 跳转到指定数据库下 
 
 
 
 step6:创建不带参数的存储过程 create procedure tjbb()  
 
 
 step7:begin....end,开始过程体,并在过程体中输入或者粘贴上主体代码(主题代码详见上面Navicat中查询中编写的代码)。 
 
 
 .............................. 
 
 
 
三、调用存储过程
 
call p_name();       #如果存储过程是有参数的,需要带上参数。如果无参,则不用带参数。
 
 
四、查看已建好的存储过程
 
show procedure status;   #查看所有的存储过程
 
show procedure status where db = ‘db_name’ ;   #查看指定数据库名下的存储过程