Да бисте започели, на вашем систему морате имати инсталиран МиСКЛ са услужним програмима: МиСКЛ радни сто и клијентска љуска командне линије. Након тога, требали бисте да имате неке податке или вредности у табелама базе података као дупликате. Истражимо ово са неколико примера. Пре свега, отворите љуску клијента командне линије са траке задатака радне површине и унесите МиСКЛ лозинку на захтев.
Пронашли смо различите методе за проналажење дупликата у табели. Погледајте их један по један.
Претражите дупликате у једној колони
Прво, морате знати о синтакси упита који се користи за проверу и бројање дупликата за једну колону.
>> ОДАБЕРИ цол ЦОУНТ (цол) ИЗ табеле ГРОУП БИ цол ХАВИНГ ЦОУНТ (цол)> 1;Ево објашњења горњег упита:
- Колона: Назив колоне коју треба проверити.
- ЦОУНТ (): функција која се користи за бројање многих дуплираних вредности.
- ГРУПА ОД: клаузула која се користи за груписање свих редова према тој одређеној колони.
Креирали смо нову табелу под називом „животиње“ у нашој „Ми дата“ бази података МиСКЛ са дуплираним вредностима. Има шест колона са различитим вредностима, нпр.г., ид, име, врста, пол, старост и цена пружају информације о различитим кућним љубимцима. По позивању ове табеле помоћу упита СЕЛЕЦТ добијамо доњи излаз на нашој клијентској љусци МиСКЛ командне линије.
>> ОДАБЕРИ * ИЗ података.Животиње;
Сада ћемо покушати да пронађемо сувишне и поновљене вредности из горње табеле помоћу клаузуле ЦОУНТ и ГРОУП БИ у упиту СЕЛЕЦТ. Овај упит броји Имена кућних љубимаца који се налазе мање од 3 пута у табели. Након тога, приказаће та Имена као доле.
>> ОДАБЕРИТЕ ИМЕ ЦОУНТ (Наме) ФРОМ података.животиње ГРУПА ПО ИМЕ ИМАЈУЋИ БРОЈ (Име) < 3;
Користећи исти упит за добијање различитих резултата док мењате ЦОУНТ број за Имена кућних љубимаца, као што је приказано доле.
>> ОДАБЕРИТЕ ИМЕ ЦОУНТ (Наме) ФРОМ података.животиње ГРУПА ПО ИМЕ ИМАЈУЋИ БРОЈ (Име)> 3;
Да бисте добили резултате за укупно 3 дуплиране вредности за Имена кућних љубимаца, као што је приказано доле.
>> ОДАБЕРИТЕ ИМЕ ЦОУНТ (Наме) ФРОМ података.животиње ГРУПА ПО ИМЕ ИМАЈУЋИ БРОЈ (Име) = 3;
Претражите дупликате у више колона
Синтакса упита за проверу или бројање дупликата за више колона је следећа:
>> ОДАБЕРИ цол1, ЦОУНТ (цол1), цол2, ЦОУНТ (цол2) ИЗ табеле ГРОУП БИ цол1, цол2 ИМАЈУЋИ ЦОУНТ (цол1)> 1 АНД ЦОУНТ (цол2)> 1;Ево објашњења горњег упита:
- цол1, цол2: назив колона које треба проверити.
- ЦОУНТ (): функција која се користи за бројање неколико дуплираних вредности.
- ГРУПА ОД: клаузула која се користи за груписање свих редова према тој одређеној колони.
Користили смо исту табелу звану 'животиње' која има дуплиране вредности. Добили смо доњи излаз док смо користили горњи упит за проверу дупликата вредности у више колона. Проверили смо и бројали дупликате вредности за колоне Пол и Цена док смо их груписали по колони Цена. Полови кућних љубимаца и њихове цене који се налазе у табели приказаће као дупликати не више од 5.
>> ОДАБЕРИТЕ Пол, БРОЈ (Пол), Цена, БРОЈ (Цена) ИЗ података.животиње ГРУПА ПО ЦЕНИ ИМАЈУЋИ БРОЈ (цена) < 5 AND COUNT(Gender) < 5;
Претражите дупликате у једној табели помоћу ИННЕР ЈОИН
Ево основне синтаксе за проналажење дупликата у једној табели:
>> ОДАБЕРИ цол1, цол2, табела.цол ИЗ табеле УНУТАРЊЕ ПРИДРУЖИВАЊЕ (ОДАБЕРИТЕ цол ИЗ ТАБЛЕ ГРОУП БИ цол ХАВИНГ ЦОУНТ (цол1)> 1) при.цол = темп.цол;Ево наратива општег упита:
- Цол: назив колоне коју треба проверити и одабрати за дупликате.
- Темп: кључна реч за примену унутрашњег спајања на колону.
- Сто: назив табеле коју треба проверити.
Имамо нову табелу, 'ордер2' са дуплираним вредностима у колони ОрдерНо, као што је приказано доле.
>> ОДАБЕРИ * ИЗ података.ордер2;
Бирамо три колоне: Артикал, Продаја, Наруџба бр. Који ће се приказати у излазу. Док се колона ОрдерНо користи за проверу дупликата. Унутрашње спајање ће одабрати вредности или редове који имају вредности ставки више од једне у табели. Након извршења, добићемо резултате у наставку.
>> ОДАБЕРИТЕ Артикал, продаја, поруџбина2.НАРУЧИТЕ ОД података.ордер2 УНУТРАШЊЕ ПРИДРУЖИВАЊЕ (ОДАБЕРИТЕ НАРУЏБУ ОД података.ордер2 ГРУПИРАЈ ПО Наруци БЕЗ БРОЈА (Артикал)> 1) темп ОН ордер2.ОрдерНо = темп.ОрдерНо;
Претражите дупликате у више табела помоћу ИННЕР ЈОИН
Ево поједностављене синтаксе за проналажење дупликата у више табела:
>> ОДАБЕРИ цол ФРОМ табле1 ИННЕР ЈОИН табле2 ОН табле1.цол = табле2.цол;Ево описа општег упита:
- цол: назив колона које треба проверити и одабрати.
- ИННЕР ЈОИН: функција која се користи за Спајање две табеле.
- НА: користи се за спајање две табеле према предвиђеним колонама.
Имамо две табеле, 'ордер1' и 'ордер2', у нашој бази података имају колону 'ОрдерНо' у обе како је приказано испод.
Користићемо УНУТАРЊЕ спајање за комбиновање дупликата две табеле у складу са наведеном колоном. Клаузула ИННЕР ЈОИН добива све податке из обе табеле спајањем, а клаузула ОН односиће се на исте ступце имена из обе табеле, нпр.г., ОрдерНо.
>> ОДАБЕРИ * ИЗ података.ордер1 ИННЕР ЈОИН подаци.ордер2 ОН ордер1.ОрдерНо = налог2.ОрдерНО;
Да бисте добили одређене колоне у излазу, покушајте са наредбом у наставку:
>> ОДАБЕРИТЕ регион, статус, ставку, продају из података.ордер1 ИННЕР ЈОИН подаци.ордер2 ОН ордер1.ОрдерНо = налог2.ОрдерНО;
Закључак
Сада смо могли да претражимо више копија у једној или неколико табела МиСКЛ информација и препознамо функцију ГРОУП БИ, ЦОУНТ и ИННЕР ЈОИН. Уверите се да сте правилно направили табеле и да ли сте изабрали праве колоне.