2016-11-27 14 views
0


私はここに新しいですので、私の質問はあなたが慣れ親しんでいるほど良くない場合は申し訳ありません。
基本的には、「名前」、「説明」、「タグ」などの複数の列を持つMySQLデータベースがあります。
ユーザーが「apple」などの特定の単語を検索した場合、すべての列を調べて、最も一般的なものから最も一般的なものの順番で行を返します。
例:ユーザーが「apple」を検索し、最初の結果がリストの先頭に表示されます(現在のシステムと同じです)。ただし、「banana」には説明やタグにappleが多く表示されます私はそれが一番上になるようにしたい。
これは意味があり、助けてくれてありがとう!
編集:これは明らかに広すぎるので、非常に簡単に置くことができます。 3列(名前、説明、タグ)。リンゴ、バナナ、ブドウの3つの列があります。 私のユーザーがappleを検索した場合、リンゴがデータベース自体のように結果の上部に表示されないようにします。私はすべての3つの列をチェックして、合計発生順にリストしたいと思います。ブドウに20回の出現があり、バナナに17があり、リンゴに3がある場合、検索結果はブドウ、バナナ、リンゴの順に並べられます。 は、私が現在持っていることは次のとおりです。"SELECT * FROM items WHERE name LIKE '%$result%'"MySQLで最も一般的なリスト

+0

いや、それはあなたには、いくつかのサンプルの日付を公開することができ得ることはありませんか? –

+0

ユーザが 'apple'を検索しているとき、' name'ですか? –

答えて

1

は、あなただけの次の例では、使用されている「ユーザーID」倍の量をカウント

MySQLでカウント機能に組み込まれて使用してそれを数えることができるが、あなたはそれを修正することができます必要。

Mysql COUNT documentation

SELECT UserId, COUNT(*) 
FROM badges 
GROUP BY UserId 
ORDER BY COUNT(*) DESC 
関連する問題