MySQL matching 2 out of 5 fields

前端 未结 3 1216
慢半拍i
慢半拍i 2021-01-04 07:23

In MySQL I\'m trying to select any row that matches at least 2 fields of the provided data

Eg. I have been given firstName, lastName, dob, website, email and I want

3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-04 08:15

    You could count up the matching expressions. MySQL returns 1 for true and 0 for false.

    WHERE (FirstName = ?) + (LastName = ?) + (... = ?) > 2
    

    You can also order using this as well. You will want to sort descending to ensure that the higher matches appear first.

    ORDER BY ((FirstName = ?) + (LastName = ?) + (... = ?)) DESC
    

提交回复
热议问题