基于列优先级的MSSQL查询

时间:2020-09-23 13:59:03

标签: sql sql-server sql-order-by where-clause sql-limit

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

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

1 个答案:

答案 0 :(得分:1)

怀疑您想要的:

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

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

相关问题