【问题标题】:MSSQL query based on column priority [closed]基于列优先级的 MSSQL 查询
【发布时间】:2021-01-09 18:06:17
【问题描述】:

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

我的 MSSQL 表具有以下属性 - id1、id2、isVerified、isRejected、score1、score2、score3。我想显示 top1 值,其中 isvered == 1,isRejected==0。在那之后,我的首要任务是 score1。如果 score1 与任何其他相关,则第二优先级是 score2,如果 score2 相关,第三优先级是 score3。数字越大,优先级越高。查询会是什么?请帮忙。

【问题讨论】:

  • 样本数据、预期结果以及重要 您的尝试将帮助我们帮助您。表具有这些属性是什么意思?你说的是extended properties(我怀疑)?你实际上是指一列吗?在 SQL Server 中,属性与列完全不同。
  • 请勿发布文字图片... 将文字粘贴为text;毕竟就是这样。
  • 感谢您的热情回复!我找到了我的答案! :D

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


【解决方案1】:

怀疑你想要:

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

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

【讨论】:

  • 非常感谢!我正是想要这个查询!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 2020-10-01
  • 2012-01-17
  • 1970-01-01
  • 2021-04-10
相关资源
最近更新 更多