pat*_*rit 9 scala slick slick-2.0
我想这样做SELECT MAX(age), MIN(age) FROM users WHERE name = 'Rick'
.我提出的最好的涉及2个查询:Users.filter(_.name === 'Rick').map(_.age).max
这是受支持的,但首先,您需要对其进行分组.由于您将整个集合视为一个组,因此true
将其分组并且在生成SQL时将忽略它:
val q = Users.filter(_.name === 'Rick').groupBy { _ => true }.map {
case (_, group) =>
(group.map(_.age).max, group.map(_.age).min)
}
Run Code Online (Sandbox Code Playgroud)
它会产生这样的东西:
q.selectStatement
# => select max(x2."age"), min(x2."age") from "Users" x2
Run Code Online (Sandbox Code Playgroud)
您可能尝试的另一种方法是联盟.
归档时间: |
|
查看次数: |
1914 次 |
最近记录: |