-1
votes

Comment supprimer la valeur duplicata d'une ligne

J'ai un jeu de données comme: xxx

maintenant, je dois supprimer le ordre_item_id 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?


3 commentaires

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


3 Réponses :


0
votes

Supprimer de MyTable où Order_Item_Id non dans (Sélectionnez max (Commande_Item_ID) à partir de groupe MyTable par ordre_id, catégorie)


0 commentaires

0
votes

Supprimer s'il y a une ligne avec le même order_id et catégorie mais avec moins ordre_item_id : xxx p> voir le Démo


1 commentaires

Désolé im nouveau, comment accepter la réponse? Je ne peux pas la remettre :(



0
votes

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
                            );


0 commentaires