mysql - 将变量与查询结果中的第 n 行进行比较时,MySQL IF 语句的正确语法是什么?
问题描述
我正在 MySQLWorkbench 中编写存储过程,并希望创建一个 IF 语句,将变量设置为 true 或 false。
此 IF 语句的条件应将先前分配的变量与查询结果的第 n 行进行比较。还有另一个正确的做法吗?
我曾尝试使用 OFFSET n 但这会导致语法错误。同样 LIMIT n-1, n 不起作用
IF answer_in = (SELECT column FROM table OFFSET n) THEN
SET x = true;
ELSE
SET x = false;
END IF;
解决方案
如果你想使用OFFSET
SELECT column FROM table ORDER BY <relevant_col> LIMIT 1 OFFSET n
或无偏移
SELECT column FROM table ORDER BY <relevant_col> LIMIT n,1
推荐阅读
- arrays - 如何获取数组中元素的位置
- r - 为什么 Dunn.package 和 DescTools 中的 Dunn 测试报告不同的结果?
- java - 在目标 JAR 中捆绑本地 JAR 依赖项
- java - 如何根据另一个类更改状态更新进度条?
- docker - 使用 asyncData 获取 nuxt.js 页面的 http://api:1337/games net::ERR_NAME_NOT_RESOLVED
- go - 如何将子目录/子域放在另一台服务器(或共享主机)
- java - 使线在相同的位置 - “\t”
- reactjs - 纯组件、展示组件和哑组件都是一回事吗?
- vector - 比较一个文档的向量和一个单词
- javascript - Jquery'On'方法不适用于表上动态附加的行