2016-11-27 49 views
0


如果我的問題不像您習慣的那樣好,那麼我很抱歉。
把基本上我有一個MySQL數據庫與多個列,如「名稱」,「描述」和「標籤」。
如果我的用戶搜索了諸如「apple」之類的特定單詞,我將如何遍歷所有列並按照最常見到最不常見的順序返回行。
一個例子是:用戶搜索「蘋果」,第一個結果將顯示在列表頂部(正如我目前的系統所做的那樣),但是「香蕉」在描述和標籤中出現更多的蘋果我希望這是最高的。
我真的希望這是有道理的,並感謝您的幫助!
編輯:顯然這太寬了,所以很簡單。 3列(名稱,說明,標籤)。可以說有三排,名字叫蘋果,香蕉,葡萄。 如果我的用戶搜索蘋果,我不希望蘋果出現在結果的頂部,因爲它在數據庫本身。我想檢查所有3列,並按照總次數排列。例如,如果葡萄有20次出現,香蕉有17次,蘋果有3次,那麼搜索結果將按順序列出:葡萄,香蕉,蘋果。 我現在擁有的是:"SELECT * FROM items WHERE name LIKE '%$result%'"MySQL中最常見的列表

+0

不,不明白這一點,你可以發佈一些樣本日期? –

+0

當用戶搜索'apple'時,是否是'name'? –

回答

1

你可以使用內置的計數功能在MySQL

下面的例子計算的時代「用戶ID」的金額已用於算了算,但你可以將它修改爲您需要。

Mysql COUNT documentation

SELECT UserId, COUNT(*) 
FROM badges 
GROUP BY UserId 
ORDER BY COUNT(*) DESC