我是新来的,如果我的问题不如你习以为常,那就很抱歉
基本上我有一个MySQL数据库,有多个列,如“名称”,“描述”和“标签”
如果我的用户搜索了某个特定单词,例如“apple”,我将如何浏览所有列并按最常见到最不常见的顺序返回行。
一个例子是:用户搜索“apple”,第一个结果将显示在列表的顶部(如我当前的系统所做)但是“banana”在描述和标签中出现了更多的apple,所以我想要那是在顶部。
我真的希望这是有道理的,谢谢你的帮助!
编辑:所以显然这太宽泛所以非常简单。 3列(名称,描述,标签)。让我们说有3排,名字:苹果,香蕉,葡萄。
如果我的用户搜索苹果,我不希望苹果出现在结果的顶部,就像它在数据库本身一样。我想检查所有3列,并按总出现次序列出它们。例如,如果葡萄有20次出现,香蕉有17次,苹果有3种,那么搜索结果将按顺序列出:葡萄,香蕉,苹果。
我目前拥有的是:"SELECT * FROM items WHERE name LIKE '%$result%'"
答案 0 :(得分:1)
您可以使用mysql
中的内置计数功能来计算它以下示例计算“UserId”的使用次数,但您可以根据需要对其进行修改。
SELECT UserId, COUNT(*)
FROM badges
GROUP BY UserId
ORDER BY COUNT(*) DESC