基于列优先级的MSSQL查询

问题描述

![在此处输入图片描述] [1]

我的MSsql表具有以下属性-id1,id2,isverified,isRejected,score1,score2,score3。我想显示isveried == 1,isRejected == 0的top1值。之后,我的首要任务是score1。如果score1与其他任何事物绑定,则第二优先级为score2;如果score2与之相关,则第三优先级为score3。数字越高,优先级越高。查询内容是什么?请帮忙。

解决方法

怀疑您想要的:

select top (1) *
from mytable
where isverified = 1 and isrejected = 0
order by score1 desc,score2 desc,score3 desc

查询将对已验证和未拒绝的行进行过滤。然后,我们保留具有最高score1的行;如果有联系,我们比较score2,然后比较score3