Как я могу расставить приоритеты максимум нескольких столбцов в SQLite - PullRequest
0 голосов
/ 26 марта 2020

У меня небольшая проблема с запросом SQLite, который я использую в python. В моей маленькой тестовой таблице я получил 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 ​​ar идентичен с более чем одной строкой, следующей является aq, если aq является более высоким прямым выигрышем, и последний является sys_id, если vq ​​и aq одинаковы sys_id, самый высокий sys_id побед.

Есть идеи?

Большое спасибо

1 Ответ

0 голосов
/ 26 марта 2020

Похоже, вы хотите order by и limit:

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