【问题标题】:get 6 random records with slick 3.0 and postgresql使用 slick 3.0 和 postgresql 获得 6 条随机记录
【发布时间】:2015-07-03 12:11:26
【问题描述】:

我需要一些帮助来编写正确的平滑 (3.0) 语法以从表中获取 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 来说是新手,我不能自己做。

【问题讨论】:

    标签: postgresql scala random slick


    【解决方案1】:

    试试

    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会生成子查询,你可以在这里找到https://stackoverflow.com/a/14483343/3624079

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 2020-01-29
      • 2023-03-25
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多