ПредишенСледващото

Нека започнем с (функцията за ранг). С обяснението на това, което беше и когато тя може да бъде полезна за нас.

RANK () функция - това е много полезна функция, тя ни позволява да се изброят набор от някои групи стойностите във всички избрания набор данни. Най-лесният начин да се покаже това с един пример. За да направите това, да създадете малка маса:


Нека тази таблица ще съдържа някои фактури ЛИЦЕ към различни потребители за различни суми по различно време, SM DT.

Сега да предположим, че искаме да получим всеки потребител да се максимизира го изложени на сметка за цялото време.
Точно този вид проблем го прави много лесно да се реши RANK (функция).

За да се постигне желания резултат, ние трябва да членовете на групата със заплата в низходящ ред, като това:
получаваме:


Сега, всички ние се нуждаем, е просто да се вземат по реда на първия запис за всеки потребител, той ще бъде на максималната стойност. Това е, което имаме нужда, и RANK () функция.
За това ние пренапише нашата заявка по този начин:
получаваме:


Сега имаме допълнителна колона кои номера на стойността на сумата (SM) в рамките на групите за всеки човек (човек).

Сега всичко, което можем да направим, е да изберете от набор от тези документи, в които стойността на новото поле Кл = 1.

Ние се получи необходимата максимална набор от сметки за всеки потребител:


Сега се опитват да обяснят какво ще функционира DENSE_RANK (). В действителност, тези функции да направят същото, с много малко изключения, изключение ще демонстрира с пример. Ние променя първоначалното предложение, така че има много от същите стойности на общата сметка (SM). Ето как:


Сега изпълни скрипт змията запознат, добавяйки друга колона, която ще се изброят нашата група, но само с DENSE_RANK () функция:
Качваме се на резултата:


Сега можем да видим разликата в лицето на Римската, тук е ясно, че функцията за RANK () за следните групи идентичен SM поле стойност се определя сериен записи номер в рамките на групи, докато DENSE_RANK на функцията () се възлага на следващия пореден номер. Това разграничение може да бъде полезно за нас в решаването на този проблем, в която трябва да не изберете първия запис, и да кажем, 3 или 4, и тук състоянието на прилагането на функция може да варира в зависимост от това, което искаме да се получат. Ако искаме трета уникална стойност е разумно да се използва DENSE_RANK (). използване на RANK () в този случай можем да се серийния номер на желаната стойност низ.

Подкрепете проекта - споделете линка, благодаря!