J'ai un jeu de données comme: maintenant, je dois supprimer le ordre_item_id code> et sa ligne qui contient une valeur de la duplication de la catégorie colonnes, tout en laissant 1 d'entre elles . Comment puis-je atteindre cela? P> p>
3 Réponses :
Supprimer de MyTable où Order_Item_Id non dans (Sélectionnez max (Commande_Item_ID) à partir de groupe MyTable par ordre_id, catégorie) P>
Supprimer s'il y a une ligne avec le même order_id code> et
catégorie code> mais avec moins
ordre_item_id code>:
Désolé im nouveau, comment accepter la réponse? Je ne peux pas la remettre :(
Je ferais simplement:
delete from t where t.order_item_id > (select min(t2.order_item_id) from t t2 where t2.order_id = t.order_id and t2.category = t.category );
Pouvez-vous expliquer davantage ce que vous entendez par «valeur en double»?
Dupliquer de Supprimer des enregistrements en double dans PostgreSQL
@Nicohaase Valeur duplicate signifie qu'il existe des valeurs de catégorie identiques dans 1 identifiant de commande