Postgres的蒸气3 /流质:如何进行SELECT DISTINCT查询?

时间:2018-10-28 09:42:54

标签: postgresql fluent vapor

我想查询一个模型,以便Fluent生成如下所示的SQL:

SELECT DISTINCT ON(<my columns>) * FROM my_table...

我该怎么做?

1 个答案:

答案 0 :(得分:0)

叹气。

因此,最终不得不使用原始查询。您可以执行以下操作:

let distinctModels = req.withPooledConnection(to: .psql) { (conn) -> Future<[MyModel]> in
    conn.raw("SELECT DISTINCT ON(<my columns>) * FROM <my_table> INNER JOIN <another_table> ON <some_condition> WHERE <conditions>")
        .all(decoding: MyModel.self)
}

req的类型为Request。函数withPooledConnection将返回您的模型的未来-只需确保对它们进行解码即可!