Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
507 views
in Technique[技术] by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
SELECT *,IF(field1 = $_POST[field], 10, 0) + IF(field2 = $_POST[field2], 2, 0) ... as score from table order by score

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...