«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Поддерживает ли PostgreSQL `top n с функциональностью Ties`?

Поддерживает ли PostgreSQL `top n с функциональностью Ties`?

Опубликовано в 2025-03-24
Просматривать:363

Does PostgreSQL Support `TOP n WITH TIES` Functionality?

ограничить с помощью связей: имеет Postgresql реализовал его? Тем не менее, пользователи PostgreSQL могут задаться вопросом, есть ли эквивалентный синтаксис. Этот пункт ведет себя аналогично своему аналому SQL Server, извлекая верхние N Rows плюс любые связанные строки.

альтернатива для Postgresql 12 и старше

до постгреска 13 не было прямого эквивалента Top N с Ties. Один обходной путь состоит в том, чтобы выполнить следующий запрос:

с CTE AS ( Выберите *, rank () over (order by ) как rnk От TBL ) ВЫБИРАТЬ * От Cte Где rnk ] здесь, rank () назначает каждую строку ранга, и строки, связанные для последнего ранга n, включены. Следующий запрос вернется {10, 9, 8, 8}, используя альтернативный метод для PostgreSQL 12 и старше:

с CTE AS ( Выберите Nums, Rank () Over (порядок от Nums desc) в качестве RNK Из чисел ) ВЫБИРАТЬ * От Cte Где rnk

примечание:

функция Rank (), используемая в этой альтернативе, отличается от Dense_rank (), поскольку последняя даст неверные результаты, возвращая слишком много рядов.
]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3