在純(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