我的 MySQL 设置中的一列称为 favColors。它只是一个 VARCHAR 列,我在其中为每个用户保存一个带有 favColors 的 JSON 字符串。很简单。
假设这是用户 A 的favColors
:
["red","green","cyan","silver","gold"]
这是用户 B 的favColors
:
["pink","green","blue","brown","yellow"]
这是用户 C 的favColors
:
["tan","green","blue","brown","yellow","violet"]
用户 B 想查询其他颜色相同的用户。但我有兴趣找到最佳匹配。
我想我可以使用这样的东西......
WHERE MATCH (favColors) AGAINST ('$userBsJSONString' IN BOOLEAN MODE)
但是,我想让结果重新调整,按哪些行匹配最多,并且我想知道它们匹配的是什么颜色。
所以基本上我可以做类似“嘿,你们都喜欢“绿色”、“蓝色”、“棕色”、“黄色”之类的事情!
进行可以返回此信息的查询的最佳方法是什么?