J'ai donc une base de données avec plus de 2000 lignes et je voulais supprimer la valeur en double en fonction de 2 lignes.
Par exemple:
no server name 1 serv1 a 2 serv1 b 3 serv2 a 4 serv2 b 5 serv2 c
3 Réponses :
Utiliser Sélectionnez Distinct CODE>:
delete t
from t join
(select server, name, min(no) as min_no
from t
group by server, name
) tt
on t.server = tt.server and t.name = tt.name
where t.no > tt.min_no;
Hey, @gordon Linoff.Vous connaissez une façon de supprimer les données en double de la base de données aussi?
Il y a beaucoup de façons de faire ce que vous voulez.
Si vous recherchez juste distinct em> p>
groupe par em> p>
fonction de fenêtre (Row_Number) dans une sous-requête em> p>
Vous supprimez les duplicats comme p> SELECT CODE> ING Les données sans duplicates, vous pouvez utiliser:
Pouvez-vous me dire comment supprimer la duplicate aussi?
Vous ne pouvez pas supprimer d'une sous-requête - du moins pas dans MySQL.
Vous pouvez utiliser la requête suivante pour supprimer des duplicats
Voulez-vous Supprimer B> les lignes de la table ou tout simplement ne pas les montrer à la suite d'une requête SELECT?
Je veux supprimer les rangées dans la table
Avez-vous seulement ces deux colonnes? Y a-t-il une clé primaire définie? Quelle est votre version mysql?
J'ai édité la question. J'ai un tableau
no code> une clé primaire et ma version SQL est
5.7.21 Code> @Paul SPIEGEL
Ensuite, utilisez la réponse de RAKESH JAKHAR et remplacez
ID code> avec
non code>.
Vous pouvez aussi essayer Ce
D'accord, je vais l'essayer. Merci pour l'aide @Paul SPIEGEL