在MySQL中,FIND_IN_SET() 函数允许你在一个逗号分隔的字符串中查找一个特定的值。然而,当你需要查询多个ID时,不能直接在一个FIND_IN_SET()调用中传递多个ID作为搜索值。但是,你可以通过结合使用FIND_IN_SET()和逻辑运算符(如OR或IN,尽管IN不适用于逗号分隔的字符串列表)来构建查询语句,以实现对多个ID的查询...
FIND_IN_SET(str,strlist) str 要查询的字符串 strlist 字段名 参数以”,”分隔 如 (1,2,6,8,10,22),我们来试试 CREATETABLEusers( idint(6)NOTNULLAUTO_INCREMENT, nameVARCHAR(20)NOTNULL,--权限id集合authority_idsVARCHAR(50)NOTNULL,PRIMARYKEY(id) );INSERTINTOusers(name, authority_ids)VALUES(...
接下来,我们将使用FIND_IN_SET函数进行多个字段查询。具体步骤如下: 使用FIND_IN_SET函数进行多个字段查询:使用以下SQL语句可以实现对多个字段进行查询: SELECT*FROMtest_tableWHEREFIND_IN_SET('Fruit',category)>0ANDFIND_IN_SET('Vegetable',category)>0; 1. 2. 3. 注释:上述SQL语句中的FIND_IN_SET函数用...
website_ids数据格式为 id1,id2,id3,id4 ;当我们想要过滤出 id3时,可以直接使用find_in_set方法 1. 代码示例如下 [包含分页内容] publicfunctiongetProductCollection(){$query=$this->getRequest()->getParam('q','');$page=(int)$this->getRequest()->getParam('p',1);$limit=(int)$this->getR...
MySQL函数find_in_set()只能在一组字符串中搜索一个字符串。第一个参数是一个字符串,因此没有办法使它用逗号分隔的字符串解析为字符串(根本不能在SET元素中使用逗号!)。第二个参数是SET,它依次由逗号分隔的字符串表示,因此您希望find_in_set('a,b,c', 'a,b,c,d')可以正常使用,但'a,b,c'按定义它...
FIND_IN_SET是一个用于在一组以逗号分隔的字符串中查找指定字符串位置的函数。它在数据查询、排序和条件处理等场景中非常实用。通过FIND_IN_SET,可以轻松确定一个字符串在多个候选字符串中的位置,帮助用户进行数据分析和处理。 1.FIND_IN_SET函数的基本语法 ...
FIND_IN_SET(string,string_list) 1. string:要查找的目标字符串。 string_list:由逗号分隔的字符串列表。 使用示例 假设我们有一个名为users的表,其中包含用户的 ID 和他们的兴趣爱好。我们使用 FIND_IN_SET 函数来查询同时对 “游泳” 和 “足球” 感兴趣的用户。
比如一篇文章(post)对应多个标签(tag),我就会在中间设计一个关系表(post_tag_mapping)来记录文章和标签的对应关系,然后查询某一个标签下的文章时,就用JOIN语句来实现了,这也应该是处理一对多关系查询时的标准做法。一般语句就像下面SELECT*FROMpostLEFTJOINpost_tag_mappingWHEREtag_id=123但是当我发现FIND_IN_SET...
最近在开发中遇到了一个需求:根据查询参数查询对应字段中包含该参数的数据。数据表中该字段的设计为多个数据用逗号隔开; 比如member_id = '1,2,3',查询参数...