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 条件?
1876浏览 • 1回复 待解决
mongodb实现特定排序查询
415浏览 • 1回复 待解决
mysql 查询排序问题有了解的吗?
166浏览 • 1回复 待解决
p40 和phone类型不匹配
2637浏览 • 1回复 待解决
SQL相同的两个子查询如何复用?
539浏览 • 2回复 待解决
MySQL 如何按照地理位置排序?
656浏览 • 1回复 待解决
Mysql表的数据如何打乱排序
417浏览 • 1回复 待解决
mysql 自增字段如何重设?
765浏览 • 1回复 待解决
MySQL如何多表合并查询
831浏览 • 1回复 待解决
mysql 分组去重排序问题?
129浏览 • 1回复 待解决
mysql如何查询当日数据?
1113浏览 • 1回复 待解决