Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 13382|Απάντηση: 1

[Πηγή] Η SQL εντοπίζει όλα τα διπλότυπα δεδομένα εγγραφών σε έναν πίνακα

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 15/9/2018 9:55:18 π.μ. | | |
1. Κατά τη διάρκεια της συνέντευξης, αντιμετώπισα ένα πρόβλημα, δηλαδή να γράψω έναν πίνακα με δύο πεδία αναγνωριστικού και ονόματος, να ρωτήσω όλα τα δεδομένα με διπλά ονόματα και τώρα να αναφέρω τα εξής:


2. Μετά την αναζήτηση όλων των δεδομένων για ομαδοποίηση, τα δεδομένα ερωτήματος του αριθμού των επαναλήψεων των διπλότυπων δεδομένων παρατίθενται παρακάτω:


3. Τα παρακάτω είναι για να δείτε τα αποτελέσματα άλλων και τώρα παρατίθενται τα ακόλουθα: Μια πλήρης λίστα μεθόδων για την αναζήτηση και τη διαγραφή διπλών εγγραφών


1. Βρείτε τις περιττές διπλότυπες εγγραφές στον πίνακα και οι διπλότυπες εγγραφές κρίνονται με βάση ένα μόνο πεδίο (peopleId).


2. Διαγράψτε τις περιττές διπλότυπες εγγραφές στον πίνακα και οι διπλότυπες εγγραφές κρίνονται με βάση ένα μόνο πεδίο (peopleId), αφήνοντας μόνο τις εγγραφές με το μικρότερο rowid


3. Βρείτε περιττές διπλότυπες εγγραφές (πολλαπλά πεδία) στον πίνακα


4. Διαγράψτε τις περιττές διπλότυπες εγγραφές (πολλαπλά πεδία) στον πίνακα, αφήνοντας μόνο τις εγγραφές με το μικρότερο rowid


5. Βρείτε περιττές διπλότυπες εγγραφές (πολλαπλά πεδία) στον πίνακα και μην περιέχουν εγγραφές με το λιγότερο rowid


(δύο)

Για παράδειγμα
Υπάρχει ένα πεδίο "όνομα" στον πίνακα Α,
Και η τιμή "όνομα" μπορεί να είναι η ίδια μεταξύ διαφορετικών εγγραφών,
Τώρα πρέπει να υποβάλετε ερώτημα για στοιχεία με διπλότυπες τιμές "όνομα" μεταξύ των εγγραφών στον πίνακα.


Εάν το φύλο είναι επίσης το ίδιο, είναι ως εξής:


(τρία)

Μέθοδος 1

Μέθοδος 2 Οι "διπλότυπες εγγραφές" έχουν δύο έννοιες των διπλότυπων εγγραφών, η μία είναι μια εντελώς διπλότυπη εγγραφή, δηλαδή μια εγγραφή με όλα τα πεδία διπλότυπα και η άλλη είναι μια εγγραφή με διπλότυπα μέρη βασικών πεδίων, όπως το πεδίο Όνομα είναι διπλό, ενώ άλλα πεδία δεν είναι απαραίτητα διπλότυπα ή όλα τα διπλότυπα μπορούν να αγνοηθούν.


1. Για τον πρώτο τύπο επανάληψης, είναι σχετικά εύκολο να λυθεί και να χρησιμοποιηθεί



Μπορείτε να λάβετε το σύνολο αποτελεσμάτων χωρίς διπλότυπες εγγραφές.

Εάν ο πίνακας πρέπει να διαγράψει διπλότυπες εγγραφές (διατηρείται 1 διπλότυπη εγγραφή),

Μπορείτε να το διαγράψετε ως εξής



Αυτή η αντιγραφή συμβαίνει λόγω κακής σχεδίασης πίνακα και μπορεί να λυθεί με την προσθήκη μοναδικών στηλών ευρετηρίου.


2. Αυτό το είδος διπλότυπου προβλήματος συνήθως απαιτεί τη διατήρηση της πρώτης εγγραφής στη διπλότυπη εγγραφή και η μέθοδος λειτουργίας είναι η εξής: Υποθέτοντας ότι υπάρχουν διπλότυπα πεδία ως Όνομα και Διεύθυνση, απαιτείται το μοναδικό σύνολο αποτελεσμάτων αυτών των δύο πεδίων



Η τελευταία επιλογή λαμβάνει το σύνολο αποτελεσμάτων Όνομα και Διεύθυνση που δεν επαναλαμβάνονται (αλλά υπάρχει ένα πρόσθετο πεδίο autoID, το οποίο μπορεί να γραφτεί στον όρο επιλογής κατά την πραγματική εγγραφή)


(4)

Τα ερωτήματα είναι διπλότυπα








Προηγούμενος:{"error_msg": "Η πιστοποίηση IAM απέτυχε"}
Επόμενος:Το MSSQL εξετάζει τις τρέχουσες συνδέσεις και τις ανοιχτές συναλλαγές
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com