使用 slick 3.0 和 postgresql 获取 6 条随机记录
get 6 random records with slick 3.0 and postgresql
我需要一些帮助来编写正确的 slick (3.0) 语法以从 table 中获取 6 个随机行。
我要转换:
select * from [table]
order by random()
limit 6
进入流畅的代码。
我找到了这个页面 http://slick.typesafe.com/doc/3.0.0/sql-to-slick.html#index-11。但是作为 scala 的新手和 slick 我不能自己做。
尝试
val rand = SimpleFunction.nullary[Double]("random")
db.run(Tables.sortBy(x=>rand).take(6).result)
这生成下一个sql:
select x2."field1", x2."field2" from
(select x3."field1" as "field1", x3."field1" as "field2" from "Table" x3 order by random() limit 6) x2
以及为什么slick会生成子查询,你可以在这里找到
我需要一些帮助来编写正确的 slick (3.0) 语法以从 table 中获取 6 个随机行。
我要转换:
select * from [table]
order by random()
limit 6
进入流畅的代码。
我找到了这个页面 http://slick.typesafe.com/doc/3.0.0/sql-to-slick.html#index-11。但是作为 scala 的新手和 slick 我不能自己做。
尝试
val rand = SimpleFunction.nullary[Double]("random")
db.run(Tables.sortBy(x=>rand).take(6).result)
这生成下一个sql:
select x2."field1", x2."field2" from
(select x3."field1" as "field1", x3."field1" as "field2" from "Table" x3 order by random() limit 6) x2
以及为什么slick会生成子查询,你可以在这里找到