Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 13382|Отговор: 1

[Източник] SQL намира всички дублиращи се данни за записи в таблица

[Копирай линк]
Публикувано в 15.09.2018 г. 9:55:18 ч. | | |
1. По време на интервюто се сблъсках с проблем – да напиша таблица с две полета на id и name, да поискам всички данни с дублирани имена и сега да изброя следното:


2. След търсене на всички данни за групиране, данните за заявки за броя повторения на дублиращите се данни са изброени по-долу:


3. Следва за преглед на резултатите на други, а сега е изброено следното: Пълен списък с методи за заявки и изтриване на дублиращи се записи


1. Намерете излишните дублиращи се записи в таблицата и дублиращите се записи се оценяват въз основа на едно поле (peopleId).


2. Изтрийте излишните дублиращи се записи в таблицата и дублиращите се записи се оценяват по едно поле (peopleId), като останат само записите с най-малък rowid


3. Намерете излишни дублиращи се записи (множество полета) в таблицата


4. Изтрийте излишните дублиращи се записи (множество полета) в таблицата, като останете само записите с най-малък ред


5. Намерете излишни дублиращи се записи (множество полета) в таблицата и не съдържат записи с най-малък ред


(две)

Например
В таблица А има поле "име",
И стойността на "името" може да е една и съща между различните записи,
Сега трябва да правите заявки за елементи с дублирани "имена" стойности между записи в таблицата;


Ако и полът е същият, то е както следва:


(три)

Метод 1

Метод 2 "Дублирани записи" имат две значения на дублирани записи: едното е напълно дублиращ се запис, тоест запис с дублирани всички полета, и другото е запис с дублирани части от ключови полета, като например полето Име, което е дублирано, докато другите полета не са задължително дублирани или всички дубликати могат да бъдат игнорирани.


1. За първия тип повторение е сравнително лесен за решаване и използване



Можете да получите набор от резултати без дублирани записи.

Ако таблицата трябва да изтрие дублиращи се записи (запазва се 1 дублиран запис),

Можете да го изтриете по следния начин



Това дублиране се случва поради лош дизайн на таблиците и може да бъде решено чрез добавяне на уникални индексни колони.


2. Този вид проблем с дублиране обикновено изисква да се запази първият запис в дублиращия запис, а методът на работа е следният: Ако приемем, че има дублиращи се полета като Име и Адрес, е необходим уникалният набор от резултати на тези две полета



Последният select получава набор от резултати от Име и Адрес, които не се повтарят (но има допълнително поле autoID, което може да се запише в изречението select при реално писане)


(4)

Заявките се дублират








Предишен:{"error_msg": "Сертификацията на IAM не беше успешна"}
Следващ:MSSQL разглежда текущите връзки и отворените транзакции
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com