たとえば、次のような簡単なテーブルがあります。
id | name | category
------------------------
1 | banana | 1
2 | orange | 1
3 | fruit | 1
4 | potato | 2
5 | car | 0
リストに表示する特別なスコアを割り当てる必要がある特別なフィルターがたくさんあります。この例のメカニズムは次のとおりです。
- 「名前」が「バナナ」または「オレンジ」の場合、スコア=スコア+ 2
- 「名前」が「果物」の場合、スコア=スコア+1
- 「名前」が「じゃがいも」の場合、スコア=スコア+ 0
- 「カテゴリ」>0の場合、スコア=スコア+1
だから私の結果では私は持っている必要があります
id | name | category | score
-------------------------------
1 | banana | 1 | 3 ( condition 1+4)
2 | orange | 1 | 3 ( condition 1+4)
3 | fruit | 1 | 2 ( condition 2+4)
4 | potato | 2 | 1 ( condition 3+4)
5 | car | 0 | 0 ( no match)
そして最後に、結果をスコア順に並べたいと思います。条件はユーザーが選択したため、新しい列を作成できません。MySQLクエリは何になりますか?