2024-09-30 18:22:45 发布
网友
假设我有一个Inventory表,其中一个status列具有以下可能的值:voided、to-order、priority、received和ordered。在
Inventory
status
查询数据库时,我希望按以下顺序排列状态列:
to_order, priority, received, ordered, voided.
如何使用sqlalchemy按列表顺序对结果排序?
我的出发点是:sort = desc(Inventory.status),我不知道如何定义自己的排序顺序。在
sort = desc(Inventory.status)
您将不得不求助于ORDER BY+CASE组合。在
ORDER BY
CASE
首先讨论纯SQL,看看this example。在
ORDER BY ( CASE currency_code WHEN 'USD' THEN 1 WHEN 'EUR' THEN 2 ... END ) ASC
幸运的是,在SQLAlchemy的ORM中,结合order_by和{a2}可以做到这一点。在
order_by
您将不得不求助于
ORDER BY
+CASE
组合。在首先讨论纯SQL,看看this example。在
幸运的是,在SQLAlchemy的ORM中,结合
order_by
和{a2}可以做到这一点。在相关问题 更多 >
编程相关推荐