MySQL MariaDB

MySQL Намерете дублиращи се стойности в таблица

MySQL Намерете дублиращи се стойности в таблица
Излишните данни могат да се съхраняват в таблицата от програмата на базата данни, което влияе върху изхода на базата данни в MySQL. Репликацията на данни обаче се случва за различни цели и е важна задача да се идентифицират дублиращите се стойности в таблицата, когато се работи с база данни на MySQL. Най-общо казано, разумно е да се използват ясни ограничения върху таблица често, за да се съхранява информация, която предотвратява излишни редове. Понякога в база данни на MySQL може да искате да изчислите броя на повтарящите се стойности. Разгледахме този въпрос в тази тема, в която ще научите как да намирате дублиращи се стойности по различни начини и как да броите дублиращи се стойности.

За да започнете, трябва да имате инсталиран MySQL на вашата система с неговите помощни програми: MySQL работна среда и клиентска обвивка на командния ред. След това трябва да имате някои данни или стойности в таблиците на базата данни като дубликати. Нека разгледаме това с някои примери. На първо място, отворете черупката на вашия команден ред от лентата на задачите на работния плот и въведете паролата си за MySQL при поискване.

Намерихме различни методи за намиране на дублирани в таблица. Погледнете ги един по един.

Търсене на дубликати в една колона

Първо, трябва да знаете за синтаксиса на заявката, използвана за проверка и преброяване на дубликати за една колона.

>> ИЗБЕРЕТЕ col COUNT (col) ОТ таблица GROUP BY col HAVING COUNT (col)> 1;

Ето обяснението на горната заявка:

Създадохме нова таблица, наречена „животни“ в базата данни „My Data“ на MySQL с дублирани стойности. Той има шест колони с различни стойности, напр.ж., id, име, видове, пол, възраст и цена, предоставящи информация относно различни домашни любимци. При извикване на тази таблица с помощта на заявката SELECT, получаваме изхода по-долу в нашата клиентска обвивка на MySQL команден ред.

>> ИЗБЕРЕТЕ * ОТ данни.животни;

Сега ще се опитаме да намерим излишните и повтарящи се стойности от горната таблица, като използваме клаузата COUNT и GROUP BY в заявката SELECT. Тази заявка ще преброи имената на домашни любимци, които се намират по-малко от 3 пъти в таблицата. След това ще покаже тези имена, както е показано по-долу.

>> ИЗБЕРЕТЕ ИМЕ БРОЙ (Име) ОТ данни.животни ГРУПА ПО ИМЕ, БРОЯЩИ (Име) < 3;

Използване на една и съща заявка, за да получите различни резултати, докато променяте броя на COUNT за имена на домашни любимци, както е показано по-долу.

>> ИЗБЕРЕТЕ ИМЕ БРОЙ (Име) ОТ данни.животни ГРУПА ПО ИМЕ С БРОЙ (Име)> 3;

За да получите резултати за общо 3 дублирани стойности за Имена на домашни любимци, както е показано по-долу.

>> ИЗБЕРЕТЕ ИМЕ БРОЙ (Име) ОТ данни.животни ГРУПА ПО ИМЕ БРОЙ (Име) = 3;

Търсене на дубликати в множество колони

Синтаксисът на заявката за проверка или преброяване на дубликати за множество колони е както следва:

>> ИЗБЕРЕТЕ col1, COUNT (col1), col2, COUNT (col2) ОТ таблица GROUP BY col1, col2 HAVING COUNT (col1)> 1 И COUNT (col2)> 1;

Ето обяснението на горната заявка:

Използваме същата таблица, наречена „животни“, която има дублирани стойности. Получихме изхода по-долу, докато използвахме горната заявка за проверка на дублиращите се стойности в множество колони. Проверяваме и броим дублиращите се стойности за колони Пол и Цена, докато сме групирани по колона Цена. Той ще покаже половете на домашните любимци и техните цени, които се намират в таблицата, като дубликати не повече от 5.

>> ИЗБЕРЕТЕ Пол, БРОЙ (Пол), Цена, БРОЙ (Цена) ОТ данни.животни ГРУПИРАНЕ ПО ЦЕНА ИМА БРОЙ (Цена) < 5 AND  COUNT(Gender) < 5;

Търсете дубликати в единична таблица с помощта на INNER JOIN

Ето основния синтаксис за намиране на дубликати в една таблица:

>> ИЗБЕРЕТЕ col1, col2, таблица.col ОТ таблицата INNER JOIN (ИЗБЕРЕТЕ col ОТ таблицата GROUP BY col HAVING COUNT (col1)> 1) temp ON таблица.col = темп.col;

Ето описанието на допълнителната заявка:

Имаме нова таблица „order2“ с дублиращи се стойности в колоната OrderNo, както е показано по-долу.

>> ИЗБЕРЕТЕ * ОТ данни.поръчка2;

Избираме три колони: Артикул, Продажби, Поръчка №, които да бъдат показани в изхода. Докато колоната OrderNo се използва за проверка на дубликати. Вътрешното съединение ще избере стойностите или редовете, имащи стойностите на Елементи повече от една в таблица. След изпълнението ще получим резултатите по-долу.

>> ИЗБЕРЕТЕ артикул, продажби, поръчка2.Поръчка БЕЗ данни.order2 INNER JOIN (SELECT OrderNo FROM данни.order2 GROUP BY OrderNo HAVING COUNT (Item)> 1) temp ON order2.OrderNo = temp.Поръчка Номер;

Търсете дубликати в множество таблици с помощта на INNER JOIN

Ето опростения синтаксис за намиране на дубликати в множество таблици:

>> ИЗБЕРЕТЕ col ОТ table1 INNER JOIN table2 ON table1.col = таблица2.col;

Ето описанието на допълнителната заявка:

Имаме две таблици, „order1“ и „order2“, в нашата база данни има колона „OrderNo“ и в двете, както е показано по-долу.

Ще използваме INNER join, за да комбинираме дубликатите на две таблици според определена колона. Клаузата INNER JOIN ще получи всички данни от двете таблици, като ги обедини, а клаузата ON ще свърже едноименните колони от двете таблици, e.ж., Поръчка Номер.

>> ИЗБЕРЕТЕ * ОТ данни.order1 INNER JOIN данни.поръчка2 ВКЛ поръчка1.OrderNo = поръчка2.Поръчка Номер;

За да получите конкретните колони в изход, опитайте командата по-долу:

>> ИЗБЕРЕТЕ регион, състояние, артикул, продажби ОТ данни.order1 INNER JOIN данни.поръчка2 ВКЛ поръчка1.OrderNo = поръчка2.Поръчка Номер;

Заключение

Вече можехме да търсим множество копия в една или няколко таблици на MySQL информация и да разпознаваме функцията GROUP BY, COUNT и INNER JOIN. Уверете се, че сте изградили таблиците правилно, както и че са избрани правилните колони.

Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...
Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...
Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...