МиСКЛ Цоунт подудара записе са ЦОУНТ

Mysql Count Matching Records With Count



До вишка података долази из много разлога. Неколико компликованих задатака са којима бисте требали да се носите док радите са системима база података покушава да открије дуплиране вредности. У ту сврху ћемо користити агрегатну методу ЦОУНТ (). Метода ЦОУНТ () враћа збир редова који се налазе у одређеној табели. Функција ЦОУНТ () дозвољава вам да збројите све редове или само редове који одговарају дефинисаном услову. У овом водичу ћете сазнати како да идентификујете дупле вредности за једну или можда више МиСКЛ колона помоћу ЦОУНТ (). Метода ЦОУНТ () има следеће три врсте:

  • ЦОУНТ (*)
  • ЦОУНТ (израз)
  • ЦОУНТ (ДИСТИНЦТ израз)

Утврдите да је на вашем систему инсталиран МиСКЛ. Отворите клијентску љуску командне линије МиСКЛ и унесите лозинку да бисте наставили. Гледаћемо неке примере за бројање одговарајућих вредности помоћу методе ЦОУНТ ().









У табели „подаци“ имамо шему „друштвено“. Проверимо његов запис путем следећег упита.



>> СЕЛЕЦТ * ФРОМ података .Друштвена;





МиСКЛ ЦОУНТ (*)

Метода ЦОУНТ (*) се користи за пребројавање броја редова који се налазе у табели или бројање броја редова према датом услову. Да бисте проверили укупан број редова у табели, „друштвено“ испробајте доњи упит. Имамо укупно 15 редова у табели према резултату.

>> СЕЛЕЦТ ЦОУНТ (*) ФРОМ података .Друштвена;



Баците поглед на методу ЦОУНТ (*) док дефинишете неке услове. Морамо дохватити број редова у којима је корисничко име исто као „Мустафа“. Можете видети да имамо само 4 записа за ово име.

>> СЕЛЕЦТ ЦОУНТ (*) ФРОМ података .Друштвена ГДЕ Корисник ='Мустафа';

Да бисте дохватили укупан збир редова на којима је веб локација корисника „Инстаграм“, покушајте са доле наведеним упитом. Табела „друштвено“ има само 4 записа за веб локацију „Инстаграм“.

>> СЕЛЕЦТ ЦОУНТ (*) ФРОМ података .Друштвена ГДЕ Веб сајт='Инстаграм';

Да бисте преузели укупан број редова у којима је „старост“ већа од 18, следи:

>> СЕЛЕЦТ ЦОУНТ (*) ФРОМ података .Друштвена ГДЕ Старост> 18;

Дохватимо податке колона „Корисник“ и „Веб локација“ из табеле, где Корисничко име почиње са абецедом „М“. Испробајте доле наведена упутства на љусци.

>> СЕЛЕЦТ Корисник ,Веб сајт ФРОМ података .Друштвена ГДЕ Корисник као ‘М.%';

МиСКЛ ЦОУНТ (израз)

У МиСКЛ-у, метода ЦОУНТ (израз) се користи само када желите да бројите вредности које нису нулл колоне „израз“. „Израз“ би био назив било које колоне. Узмимо једноставан пример тога. Бројали смо само нулте вредности колоне „Веб локација“, која је повезана са колоном „Старост“ која има вредност једнаку „25“. Видите! Имамо само 4 записа без вредности за кориснике који имају 25 година и који користе веб локације.

>> СЕЛЕЦТ ЦОУНТ (Веб сајт) ФРОМ података .Друштвена ГДЕ Старост= 25;

МиСКЛ ЦОУНТ (израз ДИСТНЦТ)

У МиСКЛ-у се метода ЦОУНТ (израз ДИСТИНЦТ израз) користи за сумирање вредности које нису нулл и различитих вредности колоне „израз“. За бројање различитог броја вредности које нису нулл у колони „Године“ користили смо доњи упит. Наћи ћете 6 не-нулл и различитих записа колоне „Старост“ из табеле „друштвено“. То значи да имамо укупно 6 људи различите старости.

>> СЕЛЕЦТ ЦОУНТ ( ДИСТИНЦТ Старост) ФРОМ података .Друштвена;

МиСКЛ ЦОУНТ (ИФ (израз))

За велики нагласак, требало би да спојите ЦОУНТ () са функцијама контроле протока. За почетак, за део израза који се користи у ЦОУНТ () методи, можете користити функцију ИФ (). Ово би могло бити веома корисно да се обезбеди брза анализа података унутар базе података. Бројаћемо број редова са различитим старосним условима и поделићемо их у три различите колоне, што се може рећи као категорије. Прво, ЦОУНТ (ИФ) ће бројати редове млађе од 20 година и сачувати овај број у нову колону под називом „Тинејџер“. Други ЦОУНТ (ИФ) броји редове старости између 20 и 30 година и чува их у колони „Млади“. Треће, последњи броји редове старије од 30 година и чува их у колони „Зрели“. У евиденцији имамо 5 тинејџера, 9 младих и само 1 зрелу особу.

>> СЕЛЕЦТ ЦОУНТ ( АКО (Старост< двадесет,1, НУЛА ))'Тинејџерка', ЦОУНТ ( АКО (Старост ИЗМЕЂУ двадесет И 30,1, НУЛА ))'Млади', ЦОУНТ ( АКО (Старост> 30,1, НУЛА ))‘Зрело’ ФРОМ података .Друштвена;

МиСКЛ ЦОУНТ (*) са клаузулом ГРОУП БИ

Наредба ГРОУП БИ је СКЛ инструкција која користи за редове група са истим вредностима. Враћа укупан број вредности које живе у свакој групи. На пример, ако желите да проверите број сваког корисника засебно, морате да дефинишете колону „Корисник“ клаузулом ГРОУП БИ док бројите записе за сваког корисника са ЦОУНТ (*).

>> СЕЛЕЦТ Корисник , ЦОУНТ (*) ФРОМ података .Друштвена ГРУПА ОД Корисник ;

Можете изабрати више од две колоне док изводите бројање редова заједно са клаузулом ГРОУП БИ, на следећи начин.

>> СЕЛЕЦТ Корисник ,Старост,Веб сајт, ЦОУНТ (*) ФРОМ података .Друштвена ГРУПА ОД Веб сајт;

Ако желимо да бројимо редове користећи клаузулу ВХЕРЕ која има неке услове у њој поред ГРОУП БИ и ЦОУНТ (*), то такође можете учинити. Упит у наставку ће дохватити и пребројати записе колона: „Корисник“, „Веб локација“ и „Старост“ где је вредност веб локације само „Инстаграм“ и „Снапцхат“. Можете видети да имамо само један запис за обе веб странице за различите кориснике.

>> СЕЛЕЦТ Корисник ,Веб сајт,Старост, ЦОУНТ (*) ФРОМ података .Друштвена ГДЕ Веб сајт='Инстаграм' Ор Веб сајт=„Снапцхат“ ГРУПА ОД Веб сајт,Старост;

МиСКЛ ЦОУНТ (*) са ГРОУП БИ и ОРДЕР БИ клаузулом

Хајде да испробамо клаузуле ГРОУП БИ и ОРДЕР БИ заједно са методом ЦОУНТ (). Дохватимо и пребројимо редове табеле „друштвено“ док распоређујемо податке у опадајућем редоследу помоћу овог упита:

>> СЕЛЕЦТ Корисник ,Веб сајт,Старост, ЦОУНТ (*) ФРОМ података .Друштвена ГРУПА ОД Старост НАРУЧИ ПО ЦОУНТ (*) ДЕСЦ ;

Упит доле наведен прво ће пребројати редове, а затим ће приказати једине записе који имају ЦОУНТ већи од 2 у растућем редоследу.

>> СЕЛЕЦТ Корисник ,Старост, ЦОУНТ (*) ФРОМ података .Друштвена ГРУПА ОД Старост ХАВИНГ ЦОУНТ (*) > 2 НАРУЧИ ПО ЦОУНТ (*) АСЦ ;

Закључак

Прошли смо све могуће методе за пребројавање подударних или дуплираних записа помоћу методе ЦОУНТ () са различитим другим клаузулама.