有以下查询模板来选择所有:
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
我需要修改它以选择第一个(最小
c
和 d
最小值 c
)或最后一个(最大值 c
和 d
最大值)记录为 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/