SET @v1 := SELECT COUNT(*) FROM user_rating;
SELECT @v1
Run Code Online (Sandbox Code Playgroud)
当我用set
变量执行此查询时,会显示此错误.
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
near 'SELECT count(*) FROM user_rating' at line 1
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
(1 row(s) returned)
Execution Time : 00:00:00:343
Transfer Time : 00:00:00:000
Total Time : 00:00:00:343
Run Code Online (Sandbox Code Playgroud) 为什么这个查询不起作用?
SELECT 10 AS my_num, my_num*5 AS another_number
FROM table
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我试图在其他计算中使用my_num别名.这导致未知列"my_num"
这是我想要做的简化版本,但基本上我想使用别名来进行其他计算.我的计算要复杂得多,这就是为什么别名它的好处,因为我会用不同的方式重复几次.
这应该是一个简单的语法:我试图在MySQL中设置一个等于查询结果的变量:
SET @variable1 = SELECT salary FROM employee_info WHERE emp_id = 12345678;
Run Code Online (Sandbox Code Playgroud)
基本上我希望将该员工的薪水存储为变量,然后我可以操作和添加.
这是正确的语法是什么,因为我无法让它工作.
有没有可能做这样的事情?
SELECT
@z:=SUM(item),
2*@z
FROM
TableA;
Run Code Online (Sandbox Code Playgroud)
对于第二列,我总是得到NULL.奇怪的是,在做某事的同时
SELECT
@z:=someProcedure(item),
2*@z
FROM
TableA;
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作.为什么?