Mysql如何在必须找出我的变量是否位于其他两个值之间的情况下创建if语句

发布于 2025-01-08 06:14:57 字数 299 浏览 0 评论 0原文

我正在尝试创建一个存储过程,如下所示

...Having (IF(input_val between 1 and 10, 1,0) AS 排名

示例

|input_val  | rank  |
--------------------|
| 1         | 1     |
| 11        | 0     |
| 3         | 1     |
| 22        | 0     |
| 4         | 1     |
| 5         | 1     |

I'm trying to create a stored procedure like followed

...Having (IF(input_val between 1 and 10, 1,0) AS rank

example

|input_val  | rank  |
--------------------|
| 1         | 1     |
| 11        | 0     |
| 3         | 1     |
| 22        | 0     |
| 4         | 1     |
| 5         | 1     |

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过去的过去 2025-01-15 06:14:57

HAVING 子句通常位于 GROUP BY 子句之后,用于测试聚合函数的结果。我认为这不适合你在这里想要的。怎么样:

...
CASE WHEN input_val BETWEEN 1 AND 10 THEN 1 ELSE 0 END AS rank

A HAVING clause normally follows a GROUP BY clause and is used to test the results of an aggregate function. I don't think that's appropriate for what you want here. How about:

...
CASE WHEN input_val BETWEEN 1 AND 10 THEN 1 ELSE 0 END AS rank
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文