МиСКЛ МариаДБ

МиСКЛ пронађи дупликате вредности у табели

МиСКЛ пронађи дупликате вредности у табели
Програм базе података може да задржи вишак података у табели, утичући на излаз базе података у МиСКЛ. Репликација података се, међутим, дешава у различите сврхе и важан је посао идентификовања дупликата вредности у табели када се ради са МиСКЛ базом података. Уопштено говорећи, паметно је користити јасна ограничења на табели често за чување информација које спречавају сувишне редове. Понекад бисте у МиСКЛ бази података можда желели да израчунате број поновљених вредности. Овом питању смо се позабавили у овој теми, у којој ћете научити како лоцирати дупле вредности на различите начине и како бројати дупле вредности.

Да бисте започели, на вашем систему морате имати инсталиран МиСКЛ са услужним програмима: МиСКЛ радни сто и клијентска љуска командне линије. Након тога, требали бисте да имате неке податке или вредности у табелама базе података као дупликате. Истражимо ово са неколико примера. Пре свега, отворите љуску клијента командне линије са траке задатака радне површине и унесите МиСКЛ лозинку на захтев.

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

Претражите дупликате у једној колони

Прво, морате знати о синтакси упита који се користи за проверу и бројање дупликата за једну колону.

>> ОДАБЕРИ цол ЦОУНТ (цол) ИЗ табеле ГРОУП БИ цол ХАВИНГ ЦОУНТ (цол)> 1;

Ево објашњења горњег упита:

Креирали смо нову табелу под називом „животиње“ у нашој „Ми дата“ бази података МиСКЛ са дуплираним вредностима. Има шест колона са различитим вредностима, нпр.г., ид, име, врста, пол, старост и цена пружају информације о различитим кућним љубимцима. По позивању ове табеле помоћу упита СЕЛЕЦТ добијамо доњи излаз на нашој клијентској љусци МиСКЛ командне линије.

>> ОДАБЕРИ * ИЗ података.Животиње;

Сада ћемо покушати да пронађемо сувишне и поновљене вредности из горње табеле помоћу клаузуле ЦОУНТ и ГРОУП БИ у упиту СЕЛЕЦТ. Овај упит броји Имена кућних љубимаца који се налазе мање од 3 пута у табели. Након тога, приказаће та Имена као доле.

>> ОДАБЕРИТЕ ИМЕ ЦОУНТ (Наме) ФРОМ података.животиње ГРУПА ПО ИМЕ ИМАЈУЋИ БРОЈ (Име) < 3;

Користећи исти упит за добијање различитих резултата док мењате ЦОУНТ број за Имена кућних љубимаца, као што је приказано доле.

>> ОДАБЕРИТЕ ИМЕ ЦОУНТ (Наме) ФРОМ података.животиње ГРУПА ПО ИМЕ ИМАЈУЋИ БРОЈ (Име)> 3;

Да бисте добили резултате за укупно 3 дуплиране вредности за Имена кућних љубимаца, као што је приказано доле.

>> ОДАБЕРИТЕ ИМЕ ЦОУНТ (Наме) ФРОМ података.животиње ГРУПА ПО ИМЕ ИМАЈУЋИ БРОЈ (Име) = 3;

Претражите дупликате у више колона

Синтакса упита за проверу или бројање дупликата за више колона је следећа:

>> ОДАБЕРИ цол1, ЦОУНТ (цол1), цол2, ЦОУНТ (цол2) ИЗ табеле ГРОУП БИ цол1, цол2 ИМАЈУЋИ ЦОУНТ (цол1)> 1 АНД ЦОУНТ (цол2)> 1;

Ево објашњења горњег упита:

Користили смо исту табелу звану 'животиње' која има дуплиране вредности. Добили смо доњи излаз док смо користили горњи упит за проверу дупликата вредности у више колона. Проверили смо и бројали дупликате вредности за колоне Пол и Цена док смо их груписали по колони Цена. Полови кућних љубимаца и њихове цене који се налазе у табели приказаће као дупликати не више од 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.ОрдерНО;

Закључак

Сада смо могли да претражимо више копија у једној или неколико табела МиСКЛ информација и препознамо функцију ГРОУП БИ, ЦОУНТ и ИННЕР ЈОИН. Уверите се да сте правилно направили табеле и да ли сте изабрали праве колоне.

Како преузети и играти Сид Меиер'с Цивилизатион ВИ на Линук-у
Увод у игру Цивилизатион 6 је модерни поглед на класични концепт представљен у серији игара Аге оф Емпирес. Идеја је била прилично једноставна; започе...
Како инсталирати и играти Доом на Линук-у
Увод у Доом Доом серија настала је 90-их година након објављивања оригиналног Доом-а. То је био тренутни хит и од тог времена надаље серија игара је д...
Вулкан за кориснике Линука
Са сваком новом генерацијом графичких картица видимо да програмери игара помичу границе графичке верности и долазе на корак од фотореализма. Али упрко...