python操作mysql时,怎么做到先分组求和,在根据分组求和的大小进行排序?

表的结构是一个充值记录表,用户每充值一笔就产生一条记录,我想把每个用户在一段时间内充值求和,根据每个用户充值的总数进行排序,并截取前若干位,目前sql语句如下:

clipboard.png

但是没有截取操作,排序不是用的sql的order_by,因为要根据求和后排序,现在想通过sql语句实现需求,求代码??(之所以想优化是因为数据量过大时会导致sql语句变慢吧?还是说影响没那么大,但是要是后端传输到前端会变慢?)

阅读 3k
1 个回答

SQLAlchemy和手写的 SQL 语句本质上没有区别, 因为SQLAlchemy也是生成 SQL 语句传到数据库. 性能问题不会因手写有多大改善, 同时 SQLAlchemy 能避免掉一些常见的错误,且便于重构和修改. 至于性能问题, 最好能过针对需求的设计来解决, 比如单独建一个统计表在用户充值和消费时同时修改总数和余额而不是每次实时统计.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题