Избројите различите комбинације на више колона у СКЛ-у

Izbrojite Razlicite Kombinacije Na Vise Kolona U Skl U



Када радите у СКЛ базама података, можете наићи на такве инстанце у којима морате пронаћи различите вредности из дате табеле и уклонити дупле вредности. У већини случајева углавном користимо клаузулу различита да бисмо навели колону чије вредности су оно што желимо да буде јединствено.

Али шта се дешава када желите да будете сигурни да су вредности из више колона јединствене и да нема дупликата?







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



Проблем:

Претпоставимо да имамо табелу са више колона и желимо да избројимо број различитих комбинација вредности у овим колонама.



На пример, размотримо табелу података о продаји са колонама цустомер_ид, продуцт_ид и дате. Желимо да избројимо број јединствених комбинација цустомер_ид и продуцт_ид.





Избројите различите комбинације на више колона у СКЛ-у

Можемо да пребројимо број различитих комбинација у више колона користећи клаузулу ЦОУНТ ДИСТИНЦТ и функцију ЦОНЦАТ у СКЛ-у.

Функција ЦОНЦАТ нам омогућава да спојимо две или више вредности у једну вредност коју онда можемо да користимо за упоређивање и бројање.



Ово можемо боље илустровати користећи следећу синтаксу:

СЕЛЕЦТ ЦОУНТ ( ДИСТИНЦТ ЦОНЦАТ ( колона1, колона2 ) )
ФРОМ табле_наме;


У овом случају, колона 1 и колона 2 односе се на колоне које желимо да спојимо током бројања, а табле_наме се односи на име циљне табеле.

Узмимо узорак табеле:

ЦРЕАТЕ ТАБЛЕ продаја (
ид ИНТ ПРИМАРНИ КЉУЧ,
цустомер_ид ИНТ,
продуцт_ид ИНТ,
датум ДАТУМ
) ;

УМЕТНИ У продајне ВРЕДНОСТИ
( 1 , 100 , 1 , '2023-05-01' ) ,
( 2 , 101 , 1 , '2023-05-02' ) ,
( 3 , 100 , 2 , '2023-05-02' ) ,
( 4 , 102 , 3 , '2023-05-03' ) ,
( 5 , 101 , 2 , '2023-05-03' ) ,
( 6 , 103 , 2 , '2023-05-04' ) ,
( 7 , 100 , 3 , '2023-05-04' ) ,
( 8 , 102 , 1 , '2023-05-05' ) ,
( 9 , 101 , 3 , '2023-05-05' ) ,
( 10 , 103 , 1 , '2023-05-06' ) ;


Резултујућа табела:


Да бисмо одредили број јединствених комбинација колона цустомер_ид и продуцт_ид из претходне табеле, можемо користити упит на следећи начин:

СЕЛЕЦТ ЦОУНТ ( ДИСТИНЦТ ЦОНЦАТ ( идентификација купца, '-' , ИД производа ) ) као резултат
ИЗ продаје;


У претходном упиту користимо клаузулу дифферент и функцију цонцат да повежемо вредности цустомер_ид и продуцт_ид са цртицом. Ово би требало да створи једну вредност за сваку комбинацију као што је приказано у наставку:


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

Закључак

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