gpt4 book ai didi

sql - FIND_IN_SET 问题或

转载 作者:行者123 更新时间:2023-12-01 00:33:07 24 4
gpt4 key购买 nike

谁能帮我解决一个 mysql 问题?我有一行包含项目列表,例如:'1','2','3','4','5','6','7','8','9' .. 3 个元素的集合.. 从 3 到 3.. 现在我如何使用“4”上方的 FIND_IN_SET 搜索它并从它的集合中返回。在那种情况下,告诉我那是第 2 组的

SELECT FIND_IN_SET('''4''', REPLACE(`some`, ' ', '')) FROM `x` WHERE `id` = 2

用那个 .. 它返回我的位置 .. 但现在,我想返回一组 4 来自的数字

'1','2','3'是一组,'4','5','6'是第二组,'7','8','9'是最后一组

最佳答案

假设您的集合的长度始终为 3,您可以对 FIND_IN_SET 的结果使用整数除法(但请记住它是基于 1 的,因此您需要为此进行调整):

(x - 1) DIV 3 + 1

所以你的表达变成:

(FIND_IN_SET('''4''', REPLACE(`some`, ' ', '')) - 1) DIV 3 + 1

请注意,对于未找到的元素,这现在返回 1 而不是 0。如果这是一个问题,那么您可以单独测试这种情况或改用此表达式:

(FIND_IN_SET('''4''', REPLACE(`some`, ' ', '')) + 2) DIV 3

关于sql - FIND_IN_SET 问题或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3395734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com