【问题标题】:How can I prioritize the maximum of multiple columns in SQLite如何在 SQLite 中优先考虑多列的最大值
【发布时间】:2020-03-26 17:27:00
【问题描述】:

我在 python 中使用的 SQLite 查询有一点问题。在我的小 test_table 中,我有 4 列:sys_id、aq、vq、off_id。如果我搜索例如 off_id=7477310

SELECT * FROM test_db WHERE off_id="7477310"

我得到结果:

sys_id  aq  vq  off_id
154803  50  40  7477310
153355  30  30  7477310
153455  50  40  7477310
163455  20  40  7477310

但我也想通过这个优先级(vq,aq,sys_id)直接比较,所以我坚持我使用max。所以目标是如果一个结果具有最高的 vq 则直接获胜,如果 vq 与下一行超过一行相同则为 aq,如果 aq 较高则直接获胜,最后是 sys_id 如果 vq 和 aq 相同 sys_id 最高的 sys_id赢了。

有什么想法吗?

非常感谢

【问题讨论】:

  • 那么您期望这个样本数据的结果是什么?
  • 154803 50 40 7477310 但我得到了163455 20 40 7477310

标签: sql sqlite sql-order-by


【解决方案1】:

看起来你想要order bylimit

select * 
from test_db 
where off_id = '7477310'
order by vq desc, aq desc, sys_id desc
limit 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多