python对数据集进行排序_Python +sqlalchemy 对于数据库的数据的顺序问题探讨

当前的使用场景是这样,对于插入数据库的数据进行查询操作,查出后一般是乱序的,就需要想个办法进行数据的重组排序,对于原生 sql 脚本,这似乎并不是什么难事,只要在查询时,按照(自己想要排的)字段的值大小就可以做到,使用格式:order by 字段名称+'0' desc/asc 的形式进行排序(具体可以网上查,例子有很多,不赘述)。

但是对于 orm 方式的查询数据库并排序应该怎么做呢?通过字符串排序,貌似没听说过,毕竟不定长的字符串作为排序标准,效率可能是极低的,特别是在大量数据面前。这个时候该如何去操作?鄙人当前使用的是添加一个新字段可以命名为 tp_sort 的字段,为 int 类型的值,在查询时就可以通过该字段进行排序。

可能有人会遇到这样的情况,比如先插入了 4,5,6,然后又插入了 1,2,3,这个时候,查出来的顺序是 4,5,6,1,2,3,显然是不符合要求的,那只能再提供一个接口进行每条数据的 tp_sort 值交换。

其实我一直在想,对于少数据量的,并且有特定字符串格式的数据群,是否可以通过字符串来进行排序,然而对于 sqlalchemy,这个 order_by ()函数,参数为字段名,就限制了它的扩展性。各位是否还有别的好的方式,拿出来分享一下。

新建了个技术讨论群:902788038,欢迎各位技术大牛加入,一起学习进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值