mysql - 如何将查询结果存入mysql的变量中

标签 mysql sql stored-procedures stored-functions

我是 mysql 新手,我正在 phpmyadmin 中编写以下函数:

BEGIN
declare @var1 int;
declare @var2 int;

set @var1 = 0;
set @var2 = 0;

count(*) 
into @var1
from transactions 
where reg_date > DATE_SUB(CURDATE(),INTERVAL 90 DAY) 
and reg_date <= CURDATE() = last_transactions;

count(*) 
into @var2
from account 
where exp_date > CURDATE() 
AND reg_date > DATE_SUB(CURDATE(),INTERVAL 90 DAY);


return @var2/@var1;
END

我总是收到 1064 错误。 预先感谢您。

最佳答案

BEGIN
declare @var1 int;
declare @var2 int;

set @var1 = 0;
set @var2 = 0;

select count(*) as count into @var1  
from transactions 
where reg_date > DATE_SUB(CURDATE(),INTERVAL 90 DAY) 
and reg_date <= CURDATE() = last_transactions;

select count(*) as count into @var2
from account 
where exp_date > CURDATE() 
AND reg_date > DATE_SUB(CURDATE(),INTERVAL 90 DAY);
return @var2/@var1;
END

关于mysql - 如何将查询结果存入mysql的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38919972/

相关文章:

php - CodeIgniter 'where' 不工作

mysql - mysql分组查询

mysql - 比 NOT IN(嵌套选择)更有效的查询

java - Oracle 行锁用于相同数据时的更新

sql - 将一些行更改为列

mysql - 从mysql存储过程中选择

sql - 从 VB.NET 调用存储过程的问题

php - 如何使用 php mysql 从 get user_timeline twitter 多行更新数据库

mysql - 返回多行的子查询的内部查询

MySQL存储过程需要比较具有不同排序顺序的2列