在纯(Postgres的风格)SQL,一个可以做类似如下:“SELECT DISTINCT ON”或等同于油滑(V2.1)
select distinct on (author_id) author_id, title from books;
这会给我从一个记录每个作者的表格为books
。在Scala的Slick库中是否有相同的内容? (我正在使用版本2.1.0)。
在纯(Postgres的风格)SQL,一个可以做类似如下:“SELECT DISTINCT ON”或等同于油滑(V2.1)
select distinct on (author_id) author_id, title from books;
这会给我从一个记录每个作者的表格为books
。在Scala的Slick库中是否有相同的内容? (我正在使用版本2.1.0)。
据我所知,必须在已经实现的集合上使用distinct
- 无法生成所需的SQL。
Github在Query
:https://github.com/slick/slick/issues/96上请求操作distinct
存在问题。
有时当我需要供应商/特定于SQL的数据库操作时,我会在数据库模式中添加一个VIEW
,然后通过Slick使用VIEW
...也许这是您的一个选择。
随着油滑,你可以(当然)use plain-old SQL, too。
感谢 - 几乎我所想的......我在Github中注意到了这个问题,尽管它*看起来并没有做到我需要的东西;它看起来好像(从那里的评论来看)它只会支持基于整行的区分,而我期望在单列上作出区分,同时为每个匹配返回整行。 – 2014-12-04 21:50:42
或者您可以移植这个现有的SQL,并专注于使用Anorm的映射结果。 – cchantep 2014-12-04 08:46:20
Anorm并不是一个真正的实用选项......在这一点上,我已经深入Slick了。 – 2014-12-04 21:51:19
没有什么能够防止混合,至少在技术上是如此。 – cchantep 2014-12-05 00:48:51