python - Sqlalchemy order_by 自定义排序?

标签 python sql sqlalchemy

我有一个state我的表中的列具有以下可能的值:discharged , in processNone .

我可以按以下顺序获取所有记录:in process , discharged接下来是 None

最佳答案

如果您已将该列声明为枚举类型(对于从一组固定的小字符串中提取值的情况,您应该这样做),然后使用 ORDER BY该列将根据声明枚举值的顺序对结果进行排序。因此该列的数据类型应为 ENUM('in process', 'discharged', 'None');这将导致 ORDER BY 按您想要的顺序排序。具体来说,枚举中的每个值都分配有一个数字索引,并且在出于排序目的比较枚举值时使用该索引。 (声明枚举的确切方式将根据您使用的后端类型而有所不同。)

关于python - Sqlalchemy order_by 自定义排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17408276/

相关文章:

python - 按完整路径导入具有相似内部模块名称的 python 包

python使用字典给定的参数评估函数

sql - 需要在 SQL 查询中替换 union

mysql - SQL JOIN 从第二个表中获取不同的列

orm - SQLAlchemy ORM 插入前钩子(Hook)

python.net import clr 抛出无效指针错误

python - 删除 Pandas 中某个字符串后的行

sql - MapReduce 表差异

sqlalchemy - 如何将 flask 迁移与其他 declarative_bases 一起使用

python - 如何设置 PasswordType 属性的值?