如何根据示例来反向查询规则

在开发中碰到这样的一个需求,客户端传递过来一个用户,我们来匹配一个最贴近的一个规则:
举一个例子来说,客户端传递的用户为id=1&sex=1
现在服务器储存了4条规则:
规则1:select all
规则2:select where id in (1,2,3)
规则3:select where id in (1,2) or sex = 1
规则4:select where id = 1 and sex = 1
这个用户符合这4个规则,但是最贴近的是最后一条。有什么好的方法可以算出最贴切的一个规则么,谢谢大家
补充一下,一般查询逻辑是将数据持久化,然后传递sql条件。现在这个是需要把条件持久化,然后传递数据来判断。。。

先查条件苛刻的,查不到就换sql,以此类推,比如,先用4这句,判断查询结果,为0则再查3,再判断结果.....