通过 haskell persist 使用 DISTINCT 关键字
Posted
技术标签:
【中文标题】通过 haskell persist 使用 DISTINCT 关键字【英文标题】:Usage of the DISTINCT keyword through haskell persist 【发布时间】:2021-04-23 09:03:25 【问题描述】:Haskell 中是否有某种方法可以持久执行select distinct (column_name_1, column_name_2) ...
。请注意,我并不是说唯一,我真的想为这些列选择不同的记录。之后我当然可以执行一些过滤魔术,但我想让数据库(在我的情况下为 postgres)解决它,但我并没有在文档中真正找到它。
卡斯帕
【问题讨论】:
【参考方案1】:对persistent
repo 的搜索表明DISTINCT
关键字没有用于任何有意义的上下文,这意味着persistent
根本不支持DISTINCT
查询。
这是因为持久化的明确设计目标是backend-agnostic,而许多非 SQL 后端本身并不支持某些 SQL 功能,例如不同的查询和连接。
我打开了Github issue 来查询这个问题,持久性维护者马特·帕森斯(Matt Parsons)回复推荐了Esqueleto 包,它是在持久性之上编写的,旨在提供特定于 SQL 的功能。
【讨论】:
以上是关于通过 haskell persist 使用 DISTINCT 关键字的主要内容,如果未能解决你的问题,请参考以下文章
“类型变量不明确”在 Haskell Yesod 中使用 Persistent
Haskell Persistent 加入 Esqueleto
Haskell的Persistent sometmes返回500内部服务器错误