求一个统计月份mysql 存储过程

求一个统计月份mysql 存储过程,第1张

第一种方法用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>提示指明他们。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8355708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存