Упорядочить по тому же списку, что и в IN, используя Peewee ORM - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь написать запрос в Peewee для MySQL, и я хотел бы сделать что-то похожее на решение, предлагаемое здесь: Сортировать по порядку значений в операторе выбора "in" в предложении mysql

То есть я бы хотел выбрать таблицу, используя предложение WHERE и оператор IN.

Однако вместо того, чтобы упорядочивать результаты на основе значений, найденных в этихтаблиц, я бы хотел, чтобы они расположили их в том же порядке, в котором они находятся в списке или операторе, который я предоставляю.

Альтернатива, которую я сейчас использую, состоит в том, чтобы просто проходить и накапливаться в другом списке,но это занимает гораздо больше времени (на 50-70% больше, чем простой запрос с order_by).

Есть ли способ сделать это более элегантно в Peewee?

1 Ответ

0 голосов
/ 12 ноября 2019

Предполагая, что информация не хранится в вашей базе данных, вы, вероятно, захотите просто изменить порядок строк в новом списке. Это можно сделать в O (n) для размера вашего результирующего набора, поэтому он не должен быть медленнее, чем просто перебирать строки в начале.

...