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...

MySQL
sql
数据库
2023-04-12 12:56:19
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
雷狂苍浪
SELECT *,IF(field1 = $_POST[field], 10, 0) + IF(field2 = $_POST[field2], 2, 0) ... as score from table order by score
分享
微博
QQ
微信
回复
2023-04-12 14:02:06
相关问题
mysql 如何匹配多个 like 条件?
2152浏览 • 1回复 待解决
mongodb实现特定排序查询
668浏览 • 1回复 待解决
mysql正则表达式匹配数字
382浏览 • 1回复 待解决
mysql 查询排序问题有了解的吗?
419浏览 • 1回复 待解决
p40 和phone类型不匹配
3042浏览 • 1回复 待解决
SQL相同的两个子查询如何复用?
975浏览 • 2回复 待解决
Mysql表的数据如何打乱排序
723浏览 • 1回复 待解决
MySQL 如何按照地理位置排序?
1112浏览 • 1回复 待解决
mysql 分组去重排序问题?
405浏览 • 1回复 待解决
mysql 自增字段如何重设?
1004浏览 • 1回复 待解决
MySQL如何多表合并查询
1051浏览 • 1回复 待解决