我有一个简单的表格,例如:
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 查询?