СКЛ Сервер ЛЕАД() функција

Skl Server Lead Funkcija



У овом чланку ћемо вас провести кроз основе рада са функцијом леад() у СКЛ Серверу. Појаснићемо шта функција ради, њену синтаксу и практичне примере како је користити.

СКЛ Сервер водећа функција

Главна функција у СКЛ Сервер-у је аналитичка функција која вам омогућава да приступите подацима из следећег реда у истом скупу резултата без самосталног спајања.

Функција вам омогућава да приступите реду са датим помаком који претходи тренутном реду. На пример, користећи функцију водећих, можете пронаћи ред одмах иза тренутног реда, 10. ред из тренутног реда итд.







Ова функција покреће програмере базе података да врше поређења редова без сложених задатака као што су спајање, коришћење погледа итд.



Синтакса функције

Следеће приказује синтаксу функције леад() у СКЛ Серверу:



ЛЕАД (скаларни_израз [,оффсет], [подразумевано])
ПРЕКО ( [ партитион_би_цлаусе ] ордер_би_цлаусе )

Следећа листа је подржаних аргумената и њихове функционалности:





  1. сцалар_екпрессион – овај аргумент означава повратну вредност засновану на дефинисаном офсету. Ово може бити израз било ког типа који враћа једну вредност. Међутим, вредност скаларног_израза не може бити друга аналитичка/прозорска функција.
  2. помак – ово поставља колико редова из тренутног реда позиционира вредност која се преузима. Подразумевано, функција ће дохватити ред одмах придев тренутном реду. Слично томе, вредност параметра офсет не може бити аналитичка функција или негативан цео број.
  3. дефаулт – овај параметар поставља подразумевану вредност ако је дата вредност помака изван опсега циљне партиције. Подразумевано, функција ће вратити НУЛЛ.
  4. ПАРТИТИОН БИ – клаузула партитион_би дефинише правила која деле скуп резултата на различите секције. Функција се затим примењује на сваку резултујућу партицију.
  5. ОРДЕР БИ – ово дефинише логички редослед у коме се примењују редови у свакој партицији.

Функција враћа тип података дефинисан у скаларном_изразу. Ако је враћена вредност НУЛЛ, функција враћа НУЛЛ.

Примјера података

Хајде да користимо неке примере база података да најбоље илуструјемо како да користимо главну функцију. Прво, користите упите као што је приказано у наставку:



ИСПУСТИ БАЗУ ПОДАТАКА АКО ПОСТОЈИ инвентар;

ЦРЕАТЕ ДАТАБАСЕ инвентар;

КОРИСТИ инвентар;

ИСПУСТИ ТАБЕЛУ АКО ПОСТОЈИ производи;

ЦРЕАТЕ ТАБЛЕ производи (
ид инт примарни кључ идентитета није нулл,
продуцт_наме варцхар(100),
произвођач варцхар(50),
количина инт није нулл,
цена у подразумеваној вредности 0,
ин_стоцк бит
);
уметнути у производе (назив_производа, произвођач, количина, цена, на лагеру)
вредности ('Аппле иПад Аир', 'Аппле', 100, 569,99, 1),
(„Самсунг Галаки З Флип 4“, „Самсунг“, 302, 1569.00, 1),
(„Сони Плаистатион 5“, „Сони“, 500, 499,99, 1),
(„Самсунг Галаки Ватцх-5 Про“, „Самсунг“, 600, 209/.99, 1),
('Аппле Ватцх Сериес 6', 'Аппле', 459, 379.90, 1),
(„Аппле АирПодс Про“, „Аппле“, 200, 199,99, 1),
('55' Цласс С95Б ОЛЕД 4К Смарт ТВ', 'Самсунг', 900, 1999.90, 1),
(„Одиссеи Арк Куантум Мини-ЛЕД закривљени екран за игре“, „Самсунг“, 50, 2999,90, 1);

Добијена табела је као што је приказано:

Пример 1 – Коришћење функције СКЛ Сервер леад() преко скупа резултата

Пример испод користи функцију леад() да врати цену следећег производа.

изаберите
Назив производа,
произвођач,
количина,
Цена,
олово (цена,
1) преко (
наручите по количини)
из
производи;

Добијена табела:

Пошто нема реда из последње колоне, функција враћа НУЛЛ.

Пример 2 – Коришћење функције СКЛ Сервер леад() преко скупа партиција

Такође можемо преузети следећи производ на датој партицији. На пример, можемо да поделимо податке изнад на основу произвођача и применимо функцију леад() у свакој партицији

Пример илустрације је као што је приказано:

изаберите
Назив производа,
произвођач,
количина,
Цена,
олово (цена,
1) преко (
подела по произвођачу
наручите по количини)
из
производи;

Горњи упит треба да подели редове на основу произвођача и да добије следећу цену за вредности у свакој партицији.

У овом случају постоје три партиције.

Закључак

У овом посту сте разумели саставне блокове функције леад() у СКЛ Серверу. Такође сте научили како да користите функцију леад() преко скупа резултата и партиција.