Я пытаюсь запустить ORDER BY на огромном наборе данных и создавать плотные значения ранга для извлечения различного количества строк на основе плотного ранжирования. Более того, я использую плотное значение ранга как суррогатный ключ во всем моем процессе, чтобы перенести промежуточные результаты и использовать его для дальнейшего тестирования производительности.ORDER BY в SQL Server vs Postgresql
Проблема я столкнулся: -
Проблема, которую я имею, я мигрировал набор данных из матрицы (PostGreSQL) (производственная среда) для SQL Server (Новая среда) и реализуется густую функцию ранга. Но из-за наличия разных плотных ранговых результатов, которые обусловлены поведением ORDER BY в SQL Server и Matrix, я не могу продолжить проверку кода и результатов.
Пример испытания: -
SELECT *,DENSE_RANK() OVER (ORDER BY Col) AS drnk FROM
(
SELECT '#2 Mayfair Terrace' AS Col
UNION
SELECT '#2 MYSTIC COURT' AS Col
)Z;
SQL-сервера вывода: -
Матрица (Postgresql) Выход: -
Col drnk
#2 MYSTIC COURT 1
#2 Mayfair Terrace 2
Может ли кто-нибудь сказать мне, почему существует разница в поведении ORDER BY между двумя различными средами баз данных? Любая помощь будет оценена по достоинству. Благодарю.
Это проблема сортировки. – Hogan