1. Tijdens het interview kwam ik een probleem tegen, namelijk het schrijven van een tabel met twee velden id en naam, alle gegevens opvragen met dubbele namen, en nu het volgende opsommen:
2. Na het opvragen van alle gegevens voor groepering, worden de querygegevens van het aantal herhalingen van de dubbele data hieronder vermeld:
3. Het volgende is om de resultaten van andere te bekijken, en nu wordt het volgende vermeld: Een volledige lijst van methoden voor het opvragen en verwijderen van dubbele records
1. Zoek de redundante dubbele records in de tabel, en de dubbele records worden beoordeeld op basis van één veld (peopleId).
2. Verwijder de redundante dubbele records in de tabel, en de dubbele records worden beoordeeld op basis van één veld (peopleId), waarbij alleen de records met de kleinste rowid overblijven
3. Zoek redundante dubbele records (meerdere velden) in de tabel
4. Verwijder de redundante dubbele records (meerdere velden) in de tabel, zodat alleen de records met de kleinste rowid overblijven
5. Zoek redundante dubbele records (meerdere velden) in de tabel, en bevat geen records met de minste rowid
(twee)
Bijvoorbeeld Er is een veld "naam" in tabel A, En de "naam"-waarde kan hetzelfde zijn tussen verschillende records, Nu moet je zoeken naar items met dubbele "naam"-waarden tussen records in de tabel;
Als het geslacht ook hetzelfde is, is het als volgt:
(drie)
Methode 1
Methode 2 "Duplicaatrecords" hebben twee betekenissen van dubbele records: de ene is een volledig duplicaat record, dat wil zeggen een record met alle velden gedupliceerd, en de andere is een record met dubbele delen van sleutelvelden, zoals het Naam-veld is gedupliceerd, terwijl andere velden niet noodzakelijkerwijs gedupliceerd zijn of alle duplicaten genegeerd kunnen worden.
1. Voor het eerste type herhaling is het relatief eenvoudig op te lossen en te gebruiken
Je kunt de resultaatset krijgen zonder dubbele records.
Als de tabel dubbele records moet verwijderen (1 duplicaat record wordt behouden),
Je kunt het als volgt verwijderen.
Deze duplicatie ontstaat door slecht tabelontwerp en kan worden opgelost door unieke indexkolommen toe te voegen.
2. Dit soort duplicaatprobleem vereist meestal dat het eerste record in het dubbele record wordt bewaard, en de bewerkingsmethode is als volgt: Aangenomen dat er dubbele velden zijn als Naam en Adres, is de unieke resultaatset van deze twee velden vereist
De laatste selectie krijgt de resultaatset van Naam en Adres die niet worden herhaald (maar er is een extra autoID-veld, dat in de select-clausule kan worden geschreven bij het daadwerkelijk schrijven)
(4)
Queries worden gedupliceerd
|