本期任务:通过编写代码,来设计一个符合实际工作需要的分类统计报表。
一、通过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’ ; #查看指定数据库名下的存储过程