現在、許容可能な一致を検索し、次を使用して並べ替える SQL クエリがあります。
ORDER BY ABS (itemranking - $rating)
次のような条件を追加できるように、クエリが処理されるときに「アイテムランキング」を何らかの方法で変更することは可能ですか?
if (category == '$category')
アイテムの ABS から 1 を引きます。
それからORDER BY ABS
?
これが適切なコードを知っている人にとっての簡単な答えなのか、それともより大きな概念的な「どうすればこの結果を達成できるか」タイプの質問なのかはわかりません。
いずれにせよ、いくつかのコンテキストが役立つ場合があります。目標は、値「評価」に一致するように一連の提出物を並べ替えることですが、ユーザーが探しているカテゴリにあるアイテムにブーストを与えることでもあります。
実際の例 (私のサイトではありません): ショッピング サイトは、価格に関して最も近い一致を検索するフィルターを提供できますが、特定のカテゴリ (たとえば、「赤」) 内のすべてのアイテムが一致するのに 10 ドル近いかのように機能します。彼らが実際よりも。