首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何选择行,直到您使用slick达到总和?

如何选择行,直到您使用slick达到总和?
EN

Stack Overflow用户
提问于 2017-01-14 22:51:42
回答 1查看 208关注 0票数 0

我现在有以下代码:

代码语言:javascript
运行
复制
var test: Rep[Long] = 4234
Model.sellOrder
  .filter(_.price <= price)
  .sortBy(_.price.asc)
  .filter(order => {test -= order.amount; test < 0})

我想选择行,直到总金额达到4234。

EN

回答 1

Stack Overflow用户

发布于 2017-01-29 02:42:27

正如其他人在评论中指出的那样,不可能完全在数据库上实施它,因为它需要支持累积总和。但这可以通过使用集合在JVM上实现最终过滤器来部分实现,而不是使用与问题中采用的相同的命令式方法在数据库上实现。

代码语言:javascript
运行
复制
var test = 4234
db.run(Model.sellOrder
  .filter(_.price <= price)
  .sortBy(_.price.asc)
  .result) map {
    case rows => 
           rows.map(x => { test -= x; x -> test })
          .takeWhile({ case (_,x) => x > 0})
          .map({case (x,_) => x})
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41651263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档