MySQL匹配查询,只要有字段值相同则满足条件,如何根据匹配成功次数多少排序?

需要一个匹配的功能,多字段匹配,大致查询sql如下:

SELECT * FROM table WHERE field1 = $_POST[field1] or field2 = $_POST[field2] or field3 = $_POST[field3] or ... or fieldn = $_POST[fieldn]

如何根据匹配成功次数做排序?或者不同的filed有不同维度,比如field1匹配成功得10分而field2匹配成功只得2分,这样做一个排序。

求实现sql...

阅读 1.7k
1 个回答
SELECT *,IF(field1 = $_POST[field], 10, 0) + IF(field2 = $_POST[field2], 2, 0) ... as score from table order by score
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题