我正在尝试使用Slick 1.0.0 创建一个查询,该查询返回与以下SQL语句等效的行计数:
SELECT COUNT(*) FROM table;
Run Code Online (Sandbox Code Playgroud)
到目前为止我所拥有的是:
val query = for {
row <- Table
} yield row
println(query.length)
Run Code Online (Sandbox Code Playgroud)
这打印scala.slick.ast.FunctionSymbol$$anon$1@6860991f.此外,query.length似乎是类型scala.slick.lifted.Column.我找不到执行查询的方法.我可以在文档和其他任何地方找到的所有示例Column都不适用于ScalaQuery或不适用于ScalaQuery,并且不再起作用.
我该怎么做才能执行此操作?
使用:
val query = for(row <- Table) yield row
println(Query(query.count).first)
Run Code Online (Sandbox Code Playgroud)
相当于count“SELECT COUNT(*) FROM Table”。为了获得第一行也是唯一一行,您必须使用它first来获取计数。