使用Then(?)或点数系统的SQL查询

| 我正在建立用户搜索,并且在其中有一个ID为ID的用户表。 然后,我查询一个名字,说:\“ John Smith \”。 使用PHP,我将查询分为两部分:q1 = John和q2 = Smith。 我想设计一个分数系统,其中具有first = John和last = Smith的记录被拉到顶部。 所以我的SQL是这样的:
 SELECT User.id, User.first, User.last
 FROM users as User
 WHERE (User.first = q1 OR User.first = q2) OR //if this is true +1 points
 WHERE (User.last = q1 OR User.last = q2) OR //if this is true +1 points

//then sum up the points and order by it (so the User.id with John Smith will have 2 points)
有什么建议么?     
已邀请:
        如果您的DBMS具有IF功能,则可以执行以下操作:
SELECT User.id, User.first, User.last,
    IF (User.first = q1 OR User.first = q2, 1, 0) +
    IF (User.last = q1 OR User.last = q2, 1, 0) as points
FROM users as User
ORDER BY points DESC
    

要回复问题请先登录注册