我有一个包含用户设置标记列的表。标记以逗号分隔的值存储到表中。即apples,bananas,cherries
等。
如何使用MySql搜索这些值并按大多数匹配的顺序返回结果。例如:
Table: users
id tags
1 apples
2 apples,bananas,cherries
3 apples,bananas,doughnuts
显然,如果我尝试:
my $tagquery = 'apples,bananas,doughnuts';
SELECT id FROM users WHERE tags in ("$tagquery");
这将只返回与整个字符串匹配的行。我希望能够获取甚至部分匹配并按顺序返回大多数匹配DESC
。
是否可以在一个语句中执行此操作而不进行循环或多个查询?此外,我不想使用FULLINDEX
,因为它需要严格搜索。
提前谢谢。