我有一个查询,类似于这样:
$sql = "SELECT *
FROM global_info
WHERE title LIKE '%$string%'
OR tag LIKE '%$string%'
OR body LIKE '%$string%'";
如何对每一行的结果进行计数,然后根据计数排序呢?
例如: 第一行:
标题:
“美丽的亚得里亚海照片”
正文:
“这是我和我的朋友在黑山的亚得里亚海某个地方拍摄的照片。亚得里亚海的颜色非常漂亮。”
标签:
“亚得里亚海,照片”
第二行:
标题:
“亚得里亚海”
正文:
“正午时分拍摄”
标签:
“亚得里亚海,照片”
如果有人搜索:
“亚得里亚海照片”
第一行的结果比第二行的多,它将出现在查询结果的第一位。
LIKE '%adriatic sea photo%'
将不会返回任何结果,因为显示的列中都不包含该确切短语。 - Joe Stefanelli