模仿sqlkorma中的partitions/window函数

Imitate partitions/window functions in sqlkorma

我正在尝试使用 sqlkorma 调用此函数的等效项,但尚未在文档中找到分区的等效项 (http://sqlkorma.com/docs):

SELECT * FROM (
SELECT DISTINCT cgi, scgi, c.id, c.name, c.address, c.city,
c.state_or_province, c.postal_code, primary_country,
    ROW_NUMBER() OVER (
    PARTITION BY cgi
) AS ROW_NUMBER
from ccs
join c on c.id = ccs.id) groups
WHERE groups.ROW_NUMBER = 1 ORDER BY cgi

为清楚起见,在我的数据库中,存在一对多关系的列变量 "cgi" 和 "c.id"

找到了一个简单的解决方案 - sqlkorma 允许您执行原始 SQL,我指定了 postgresql DISTINCT ON (column_to_partition_on), column_to_partition_on, column1, column2 FROM table。使用它作为查询文本,这是使用 korma:

执行原始 sql 的一般格式
(exec-raw my-database query-text :results)

更多信息请访问 http://sqlkorma.com/docs