我想获取具有特定关键字的结果,例如'php','htm'。我还想获取连续存在多少个关键字。
例如,我有两行。 一行有技能领域与vlue: - 'php,html,asp,testing' 其他人有: - 'html,asp,测试'
现在,如果我搜索关键字'php'和'htm',那么它可能会返回一条记录,我也想知道该行中存在哪个关键字。例如,如果行只有一个关键字,那么它可能有50%匹配,如果行在记录中同时包含两个关键字,那么它可能100%匹配。
我正在使用以下sql查询: -
SELECT ROUND(((if(LOCATE("php",skill)>0,25,0) + if(LOCATE("htm",skill)>0,25,0)) * 100) / 50) AS Candidate__SkillTot,
`Candidate`.`id`
FROM `kings_desktop`.`candidates` AS `Candidate`
LEFT JOIN `kings_desktop`.`cand_accounts` AS `CandAccount` ON (`CandAccount`.`candidate_id` = `Candidate`.`id`)
WHERE (if(LOCATE("php",skill)>0,25,0) + if(LOCATE("htm",skill)>0,25,0)) LIMIT 100
问题是此查询返回两个记录。我只希望第一行占Candidate__SkillTot
值的50%