我有一个客户端的mysql数据库,并抓取了一个网站,检索过去几年的所有评论。现在我正在尝试将这些评论与客户匹配,以便我可以通过电子邮件发送给他们。问题是评论网站允许他们输入他们想要的任何名称,所以在某些情况下我有完整的名字和最后的首字母,在某些情况下,我有第一个姓名和最后一个全名。它还给出了一个大概的发布时间,例如“1周前”,“6个月前”等,我们已经将其转换为大致日期。
现在我需要尝试将这些匹配到客户端。似乎最好的方法是对名称进行模糊搜索,然后一旦找到所有 <div class="row">
<div class="col-md-6">
Left column
</div>
<div class="col-md-6">
Middle Column
</div>
<div class="col-md-6">
Right Column
</div>
</div>
我找到一个工作完成日期最接近评论发布的那个,自然会消除在工作之前发布的任何内容完成了。
我整理了一个小样本数据集,其中table1是客户端,table2是要匹配的评论: http://sqlfiddle.com/#!9/23928c/6/0
我最初想的是做一个date_diff,但后来我需要按最低的数字排序。在我自己解决这个问题之前,我想我会问他们是否有任何想要分享的技巧。
我正在使用PHP / Laravel来查询MySql
答案 0 :(得分:0)
您可以将DATEDIFF
用于绝对值:
ORDER BY ABS(DATEDIFF(`date`, $calculatedDate)) DESC
查找与您的估算密切相关的记录,正面或负面。