Подражать разделам / оконным функциям в 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"
1 ответ
Решение
Нашел простое решение для этого - sqlkorma позволяет выполнять сырой SQL, и я указал postgresql DISTINCT ON (column_to_partition_on), column_to_partition_on, column1, column2 FROM table
, Используя это как текст запроса, это общий формат для выполнения raw SQL с использованием korma:
(exec-raw my-database query-text :results)
Более подробная информация на http://sqlkorma.com/docs