scala - 如何使用ScalaQuery仅选择符合where子句的第一条或最后一条记录?

标签 scala scalaquery

有以下查询模板来选择所有:

val q = for {
  a <- Parameters[Int]
  b <- Parameters[Int]
  t <- T if t.a == a && t.b == b
  _ <- Query.orderBy(t.c, t.d)
} yield t

我需要修改它以选择第一个(最小 cd 最小值 c)或最后一个(最大值 cd 最大值)记录为 c那些匹配 where健康)状况。我通常强烈不希望选择其他(除了最后/第一条)记录,因为有数十万条记录......

最佳答案

有方法firstOption在 Invoker trait 上定义,并且通过某种魔法,它在 Query 类上可用。所以也许你可以这样尝试:

val q = for {
  a <- Parameters[Int]
  b <- Parameters[Int]
  t <- T if t.a == a && t.b == b
  _ <- Query.orderBy(t.c, t.d)
} yield t
q.firstOption

关于scala - 如何使用ScalaQuery仅选择符合where子句的第一条或最后一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10168707/

相关文章:

c# - 哪些 Java/Scala 或 .NET Web 框架支持修改源代码并立即运行工作流 e.i.没有很长的重建/重新部署程序?

scala - 尝试将 Spark DF 写入 Hive 表时出现错误 "Invalid call to qualifier on unresolved object"

database - Scala Slick/ScalaQuery BigDecimal 创建 decimal(10,0) 如何允许小数?

scala - 根据 Slick 中的 Id 选择单行

scala - 光滑和按选项列过滤

scala - 仅当在 main 方法之外定义 case 类以创建 Dataset[case class] 或 Dataframe[case class] 时才工作

java - 带条件的任务设计模式

java - 为什么所有 Java 错误在 Scala 中都不被认为是致命的?

sql-server - 在 Lift 上下文中使用 ScalaQuery 的好例子?

postgresql - 在 ScalaQuery O/R 框架中映射自定义类型