第一种方法用left join, 把月份显示出来,没有相应月份的时候,也会显示月份对应的列,但是值为空
第二种方法用临时表,建立2个字段,一个字段用来标注月份,另外一个字段标注统计值,先把12个月全部写进去,然后用指针对12个月进行统计,把结果填入到对应月份的统计结果中,如果为空就填0
#判断该存储过程是否存在,是就删除drop procedure if exists test
CREATE PROCEDURE test()
BEGIN
#定义变量
DECLARE v_month, v_ttime VARCHAR(20)
SET v_month=DATE_FORMAT(NOW(),'%m')
SET v_ttime=date_sub(NOW(),interval '0:05:0' day_second)
#修改分数,此处格式需注意
set @sql=concat("update tables ",v_month," SET fenshu='60' WHERE time>",v_ttime)
prepare execsql from @sql
execute execsql
END
为了连接服务器,当你调用mysql时,你通常将需要提供一个MySQL用户名和很可能,一个口令。如果服务器运行在不是你登录的一台机器上,你也将需要指定主机名。联系你的管理员以找出你应该使用什么连接参数进行连接(即,那个主机,用户名字和使用的口令)。一旦你知道正确的参数,你应该能象这样连接:shell>mysql -h host -u user -p
Enter password: ********
********代表你的口令;当mysql显示Enter password:提示时输入它。
如果能工作,你应该看见mysql>提示后的一些介绍信息:
shell>mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with or /g.
Your MySQL connection id is 459 to server version: 3.22.20a-log
Type 'help' for help.
mysql>
提示符告诉你mysql准备为你输入命令。
一些MySQL安装允许用户以“anoymous”(匿名)用户连接在本地主机上运行的服务器。如果在你的机器是这种情况,你应该能通过没有任何选项地调用mysql与该服务器连接:
shell>mysql
在你成功地连接后,你可以在mysql>提示下打入QUIT随时断开:
mysql>QUIT
Bye
你也可以键入control-D断开。
在下列章节的大多数例子都假设你连接到服务器。由mysql>提示指明他们。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)