mysql - 无论如何在sql中获得IN语句成功匹配索引?
问题描述
所以我有这个 SQL 请求:
SELECT *
FROM Datas
WHERE value IN (20,10,50,100,40)
我想知道是否可以在 IN 语句的数组中获取匹配的索引。
例如,请求将返回值为 20 的行,但我想获得 0,即 IN 语句数组中 20 的索引。
解决方案
如果您可以将此数组转换为逗号分隔的字符串,'20,10,50,100,40'
则可以使用以下函数FIND_IN_SET()
:
SELECT FIND_IN_SET(value, '20,10,50,100,40') - 1
FROM Datas
我从函数的结果中减去1
,因为您似乎想要0
基于结果的结果。
推荐阅读
- wso2 - WSO2:如何使用 API 获取用户信息
- vb6 - 如何在 Visual Basic 的代码中禁用 X 按钮
- javascript - 我想详细了解这个函数(.on())的含义
- django - DJANGO + SAML2 + CSRF
- javascript - Javascript:检查屏幕宽度并删除 HTML 元素
- wordpress - 如何将插件简码打印到 wordpress 管理页面
- docker - 如何在 Docker 容器中为 kubectl 生成 admin.conf 文件
- python - 在树莓派中安装 QtVirtualkeyboard?
- asp.net - OWIN 使用什么机制来确定用户在阅读其声明之前已通过身份验证?
- html - 没有方案的 HTML 锚点 href