我需要从与刚刚添加的新行相关的表中选择5行。
当用户发布新广告时,我会在广告网站上工作,我希望链接与此广告相关的5个广告。
标准是搜索存储在数据库中的其他广告的标题中的单词列表(从刚刚添加的新广告的标题中提取)。
这是一种在MySQL中使用正则表达式来验证单个广告标题中的多个要求的方法。
有人可以帮助我构建MySQL查询以获得此结果
例如:
新广告的标题:“销售新的Android智能手机” 提取世界:“android”和“智能手机”
一些广告:
1 - “搜索再见新智能手机”
2 - “销售Android产品”
3 - “新智能手机”
4 - “畅销车”
6 - “,nwx wxclkn wxc”
查询应该返回1,2,3广告的ID。
答案 0 :(得分:2)
最简单的方法是将标记与每个广告相关联,这样您就可以通过标记本身关联广告。你不能仅仅依赖于标题,例如“卖手机”会与你的例子有关,即使它没有任何共同词。
然后,您将检索与广告相关联的代码,并查找具有相同代码的其他广告,并按匹配代码的数量对结果进行排序。
答案 1 :(得分:0)
感谢您的回答
我找到了一个解决方案来做到这一点,而不是在广告中添加标签,我只需从新添加的添加中提取所需的单词,然后创建像
这样的mysql正则表达式提取词:“android”“智能手机”
SQL:
SELECT * FROM ad_table WHERE title REGEXP '[[:<:]]android[[:>:]]|[[:<:]]smartphone[[:>:]]'